Docs/shell/rsync同步/rsync_client.sh.md
2022-10-18 16:59:37 +08:00

1.2 KiB

#!/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