一、自动同步
自动同步只要做一个定时器就可以了,代码我们使用下面的rsync_local.sh即可。
二、手工同步
rsync_local.sh文件
代码如下
#!/bin/bash
PRG="$0"
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
BASEDIR=`dirname "$PRG"`
LOG_DIR=$BASEDIR/logs
TIME=$(date +%Y-%m-%d)
TIME_2DAYS=$(date -d -2day +%Y-%m-%d)
#同步的命令rsync命令
RSYNC_COMM=rsync
#指定本地路径(本地需要同步到本地或者远程服务器的目录)
LOCAL_DIR='/home/put'
#######################################################################
#同步到本地目录
LOCAL_DIR_RSYNC='/home/put1'
#排除的文件或目录列表文件(把不需要同步的文件或者目录写入此文件即可)
EXCLUDE_LIST=$BASEDIR/exclude_list
#版本生成的日志头文件名
LOG_UPDATE_FILE=rsync_update.$TIME
#定期删除的日志头文件名
RM_LOG_UPDATE_FILE=rsync_update.$TIME_2DAYS
if [[ ! -e $LOG_DIR ]];then
mkdir -p $LOG_DIR
fi
if [[ $# -eq 0 ]];then
echo "$(date)|正在执行同步操作从($LOCAL_DIR同步到$LOCAL_DIR_RSYNC)......"|tee