60 lines
No EOL
1.2 KiB
Markdown
60 lines
No EOL
1.2 KiB
Markdown
```
|
|
#!/bin/bash
|
|
|
|
##Edit by wangsuipeng
|
|
##Date 2016/10/20
|
|
|
|
## Rsync 客户端脚本
|
|
## 脚本说明:
|
|
##
|
|
## 操作说明:执行过本脚本以后,需要添加到定时任务中
|
|
## 并删除定时任务中的其他应用同步命令,即
|
|
## 带有/opt/appl/assist/rsync/的脚本,为
|
|
## 安全起见,请确认是否是应用同步脚本
|
|
|
|
|
|
##项目名
|
|
read -p "The Project name:[Not username]" PRO_NAME
|
|
|
|
##服务端IP
|
|
read -p "The Server IP:" PRO_HOST_IP
|
|
|
|
##脚本存放位置
|
|
DIRPATH=/usr/local/rsync
|
|
|
|
##密码文件
|
|
PASS_CFG=$DIRPATH/rsyncd.pass
|
|
|
|
##脚本文件
|
|
SCRIPT=$DIRPATH/rsync_${PRO_HOST_IP}-${PRO_NAME}.sh
|
|
|
|
EXCLUDE_CONF()
|
|
{
|
|
cat > /usr/local/rsync/exclude << EOF
|
|
log/*
|
|
logs/*
|
|
temp/*
|
|
backup/*
|
|
deployment/*
|
|
*.tar.gz
|
|
*.tgz
|
|
*.log
|
|
*.out
|
|
EOF
|
|
}
|
|
|
|
if [ -d $DIRPATH ]
|
|
then
|
|
if [ -f $DIRPATH/rsyncd.pwd ]
|
|
then
|
|
cd $DIRPATH && tar zcvf bak.`date +%d%H%M`.tar.gz --exclude *.tar.gz * --remove-files >/dev/null 2>&1
|
|
fi
|
|
else
|
|
mkdir -p $DIRPATH
|
|
fi
|
|
|
|
EXCLUDE_CONF
|
|
echo "/usr/bin/rsync -arP --delete --exclude-from=/usr/local/rsync/exclude --password-file=$PASS_CFG rsync@$PRO_HOST_IP::${PRO_NAME}2016 /opt/appl/$PRO_NAME/" > $SCRIPT
|
|
chmod +x $SCRIPT
|
|
echo "123456" > $PASS_CFG
|
|
``` |