rsync
一般的Ubuntu系统默认已经装了rsync
验证
rsync --version
安装
sudo apt install rsync
同步
需要密码进行验证身份的指令
这里的两个Ubuntu系统的端口号不同,远程主机为30110,因此需要指定端口
同时这里指令了AA这个文件夹进行同步
sudo rsync -avu --progress -e "ssh -p 30110" /home/zhou/AA ubuntu@10.20.72.54:/home/ubuntu/
免除密码进行同步(既然要定时同步,肯定要免密码的)
复制主机SSH给远程主机
ssh-copy-id -p 30110 ubuntu@10.20.72.54
这里还需要再输入一次密码,后续就不再需要了
想要拉取所有的目录文件,不指定文件即可
rsync -avu --progress -e "ssh -p 30110" /home/zhou/ ubuntu@10.20.72.54:/home/ubuntu/
定时
[root@localhost ~]# crontab -e
在 crontab 文件中添加以下行来设置
每5分钟执行一次同步任务:
*/5 * * * * /root/rsync.sh
每两小时执行一次 rsync.sh 脚本:
0 */2 * * * /bin/bash /root/rsync.sh
每天凌晨两点执行 rsync.sh 脚本:
0 2 * * * /bin/bash /root/rsync.sh
保存并关闭文件。crontab 文件会自动保存并生效