nfs+crontab+rsync备份

1 篇文章 0 订阅

需求如下:定时将B服务器上的文件备份到A服务器上
1.安装rsync服务

yum install -y rsync


2.在B服务器上配置rsync

vim /etc/rsyncd.conf


内容为:
 

# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:

uid = root
gid = root
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[nfs]
path = /home #替换你要备份的目录
# comment = ftp export area
secrets file =/etc/sery.pass



注:path为需要备份的路径,/etc/sery.pass为传输的账号密码


3.配置账号密码

vim /etc/sery.pass


内容为:

root:password



4.更改secrets file文件的权限

chmod 600 /etc/sery.pass



5.启动rsyncd服务

rsync --daemon --config=/etc/rsyncd.conf


以上我们的B服务器就配置完成了

6.在A上设置secrets file文件

vim /etc/sery.pass



内容为: password
注:这里面只写密码,不用写用户名,密码就是刚刚设置的
 


7.更改secrets file的权限(在A上)

chmod 600 /etc/sery.pass



8.验证A是否能将B服务器上的文件备份起来


在A服务器上执行以下命令
 

rsync -avz --password-file=/etc/sery.pass root@192.168.1.XXX::nfs/ /home/

rsync -avz --delete --password-file=/etc/sery.pass root@192.168.1.XXX::nfs/ /home/

第一条命令是执行:增量备份,但是删除文件操作不同步,也就是说,修改/创建文件能同步,但是删除文件无法同步

第二条命令多了--delete,就是所有包括删除文件都同步

注意:/home/为你存储的同步目录


9.通过crontab定时同步


9.1 创建同步脚本

echo "------------------------------------------" >>/root/rsync/log.txt
echo "BACKUP DATE:" $(date +"%Y-%m-%d %H:%M:%S") >>/root/rsync/log.txt
rsync -avz --delete --password-file=/etc/sery.pass root@192.168.2.42::nfs/ /nfs/ >>/root/rsync/log.txt

以上脚本存储到自己想要放的目录下


/root/rsync/log.txt为存储的日志地址
 


9.2 写入crontab中
 

crontab -e

 

*/1 * * * * /root/rsync/sync.sh



/root/rsync/sync.sh为刚刚存储的脚本目录,1为每分钟同步一次
可以通过以下操作查看cron是否执行

cat /var/log/cron


附上rsync开机自启命令

systemctl enable rsyncd



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值