让rsync客户端自动与服务器同步数据

描述:服务器是重量级应用,所以数据的网络备份还是极为重要的。我们可以在生产型服务器上配置好rsync 服务器。我们可以把一台装有rysnc机器当做是备份服务器。让这台备份服务器,每天在早上4点开始同步服务器上的数据;并且每个备份都是完整备份。有时 硬盘坏掉,或者服务器数据被删除,完整备份还是相当重要的。这种备份相当于每天为服务器的数据做一个镜像,当生产型服务器发生事故时,我们可以轻松恢复数 据,能把数据损失降到最低;是不是这么回事?

step1:创建同步脚本和密码文件

#mkdir   /etc/cron.daily.rsync
#cd  /etc/cron.daily.rsync 
#touch rhel4home.sh  rhel4opt.sh 
#chmod 755 /etc/cron.daily.rsync/*.sh  
#mkdir /etc/rsyncd/
#touch /etc/rsyncd/rsyncrhel4root.secrets
#touch /etc/rsyncd/rsyncrhel4easylife.secrets
#chmod 600  /etc/rsyncd/rsync.*

注: 我们在 /etc/cron.daily/中创建了两个文件rhel4home.sh和rhel4opt.sh ,并且是权限是755的。创建了两个密码文件root用户用的是rsyncrhel4root.secrets ,easylife用户用的是 rsyncrhel4easylife.secrets,权限是600;
我们编辑rhel4home.sh,内容是如下的:

#!/bin/sh
#backup 192.168.145.5:/home 
/usr/bin/rsync   -avzP  --password-file=/etc/rsyncd/rsyncrhel4root.password   root@192.168.145.5::rhel4home   /home/rhel4homebak/$(date +'%m-%d-%y')
我们编辑 rhel4opt.sh ,内容是:
#!/bin/sh
#backup 192.168.145.5:/opt 
/usr/bin/rsync   -avzP  --password-file=/etc/rsyncd/rsyncrhel4easylife.secrets    easylife@192.168.145.5::rhel4opt   /home/rhel4hoptbak/$(date +'%m-%d-%y')

注:你可以把rhel4home.sh和rhel4opt.sh的内容合并到一个文件中,比如都写到rhel4bak.sh中

接着我们修改 /etc/rsyncd/rsyncrhel4root.secrets和rsyncrhel4easylife.secrets的内容;

# echo "mike" > /etc/rsyncd/rsyncrhel4root.secrets
# echo "keer"> /etc/rsyncd/rsyncrhel4easylife.secrets

然后我们再/home目录下创建rhel4homebak 和rhel4optbak两个目录,意思是服务器端的rhel4home数据同步到备份服务器上的/home/rhel4homebak 下,rhel4opt数据同步到 /home/rhel4optbak/目录下。并按年月日归档创建目录;每天备份都存档;

#mkdir /home/rhel4homebak
#mkdir /home/rhel4optbak

step2:修改crond服务器的配置文件 加入到计划任务

#crontab  -e
加入下面的内容:
# Run daily cron jobs at 4:10 every day  backup rhel4 data:  
10 4 * * * /usr/bin/run-parts   /etc/cron.daily.rsync   1> /dev/null

注:第一行是注释,是说明内容,这样能自己记住。
  第二行表示在每天早上4点10分的时候,运行 /etc/cron.daily.rsync 下的可执行脚本任务;
配置好后,要重启crond 服务器:

# killall crond    注:杀死crond 服务器的进程;
# ps aux |grep crond  注:查看一下是否被杀死;
# /usr/sbin/crond    注:启动 crond 服务器;
# ps aux  |grep crond  注:查看一下是否启动了?
root      3815  0.0  0.0   1860   664 ?        S    14:44   0:00 /usr/sbin/crond
root      3819  0.0  0.0   2188   808 pts/1    S+   14:45   0:00 grep crond

 

posted @ 2017-12-06 14:15  Gringer  阅读(233)  评论(0)    收藏  举报