rsync备份文件

来源:互联网 发布:linux增加swap空间 编辑:程序博客网 时间:2024/05/21 19:26
--------------------服务端------------------------创建/etc/rsyncd.conf文件#[global]strict modes = yes#rsync default portport = 873logfile = /var/log/rsyncd.logpidfile = /var/run/rsyncd.pidmax connections = 4auth users = backup, usersecrets file = /etc/rsyncd.scrt#[modules] each path responding to a module[jplogbak]path = /test#hosts allow=9.4.122.24 [tty]path = /jumpserver/logs/tty编辑/etc/default/rsyncRSYNC_ENABLE=true创建/etc/rsyncd.scrtbackup:backupuser:user----------------------客户端-------------------------脚本rsyncclient.sh#!/bin/bash################################################################### NAME# rsyncclient.sh ---- running in client machine, which# is used to backup data in client machine## USAGE # ./rsyncclient.sh## AUTHOR# Aborn Jiang (aborn.jiang@gmail.com)## NOTE # pls configure the file client.conf and rsyncd.scrt# ##################################################################ABSPATH=$(dirname $0)source ${ABSPATH}/client.conffunction get-user-pwd(){# obtain usrname and password iUSR=$(cat ${ABSPATH}/rsyncd.scrt|tr -d ' ' |grep -v "^$" | \ grep -v "^#"|head -n 1|awk -F : '{print $1}') iPWD=$(cat ${ABSPATH}/rsyncd.scrt|tr -d ' ' |grep -v "^$" | \ grep -v "^#"|head -n 1|awk -F : '{print $2}') if [ -z ${iUSR} ] || [ -z ${iPWD} ];then echo "iUSR=$iUSR iPWD=$iPWD" echo "rsyncd.scrt format illegal, please check!"; exit -1; fi# produce password file echo "$iPWD" > ${ABSPATH}/.pass chmod 600 ${ABSPATH}/.pass [ ! -d $BACKUPPATH ] && mkdir -p ${BACKUPPATH}}function backup-module(){# print key information iModule=$1 echo echo "---------------------------------------------------" echo "---- backup module ${iModule}@${SERVERIP} begin " echo "---- TIME=`date`----" echo "ABSPATH=${ABSPATH}" echo "BACKUPPATH=${BACKUPPATH}" echo "iUSR=$iUSR iPWD=$iPWD" echo "OPTIONS=${OPTIONS}" iModuleBackpath=${BACKUPPATH}/${iModule}; [ ! -d ${iModuleBackpath} ] && mkdir -p ${iModuleBackpath}# begin backup rsync ${OPTIONS} ${iUSR}@${SERVERIP}::${iModule} ${iModuleBackpath} \ --password-file=${ABSPATH}/.pass if [ $? != 0 ];then echo "---- backup module ${iModule}@${SERVERIP} failed." else echo "---- backup module ${iModule}@${SERVERIP} succuess. " fi echo "---- TIME=`date`----" echo "---------------------------------------------------" echo }function __main__(){ get-user-pwd for md in $MODULE do backup-module $md done}__main__创建client.confBACKUPPATH="/jumpserver/logs/";SERVERIP=""MODULE="tty"#OPTIONS="-vazu --progress --delete" OPTIONS="-vazu --progress"创建rsyncd.scrtbackup:backupuser:user