rsync+crontab
- 环境准备
-
- 【服务端】1、安装服务器
- 2、修改配置文件
-
- path的路径自己制定即可,如是新的路径,记得创建目录!!!
- 3、创建用户和密码的文件,赋权限
- 4、后台启动,验证端口
- 【客户端】5、安装服务器
- 6、编写密码文件
- 7、验证是否同步
-
- 1)创建目录
- 2)切到服务端,模拟目录/文件变化
- 3)切到客户端,测试同步
- 验证图
- 8、加入计划任务
-
- crontab基本格式 :
- 易错点归纳
环境准备
centos7两台,关闭防火墙和selinux
【客户端】——192.168.112.153
【服务端】——192.168.112.172
- 执行时服务器端和客户端可以互相拷贝文件,可以理解为两台服务器间的备份,这里修改服务端的配置文件,备份的就是服务端的,有新变化的目录/文件
【服务端】1、安装服务器
yum -y install rsync
2、修改配置文件
vim /etc/rsyncd.conf
uid = root
gid = root
use chroot = yes
address = 192.168.112.172
port 873
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow = 192.168.112.0/24
[git]
path = /var/opt/gitlab/backups
comment = Document Root of www.51xit.top
read only =no
dont comperss = *.gz *.bz2 *.tgz *.zip *.rar *.z
auth users =root
secrets file = /etc/rsync.cc
- 解析
path的路径自己制定即可,如是新的路径,记得创建目录!!!
3、创建用户和密码的文件,赋权限
echo 'root:123456' > /etc/rsync.cc
chmod 600 /etc/rsync.cc
4、后台启动,验证端口
rsync --daemon
netstat -nlpt |grep 873
【客户端】5、安装服务器
yum -y install rsync
6、编写密码文件
echo '123456' > /etc/rsync.cc
- 同样赋予权限
chmod 600 /etc/rsync.cc
7、验证是否同步
1)创建目录
mkdir /home/data
2)切到服务端,模拟目录/文件变化
3)切到客户端,测试同步
rsync -az --password-file=/etc/rsync.cc root@192.168.112.172::git /home/data/
- 如果需要和服务端文件保持一致性的话,可加–delete参数
- –delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
验证图
8、加入计划任务
crontab -e
- 将7.3的查验命令写入监本,添加计划任务
crontab基本格式 :
* * * * * command
分 时 日 月 周 命令
- 第1列表示分钟1~59 每分钟用*或者 */1表示
- 第2列表示小时1~23(0表示0点)
- 第3列表示日期1~31
- 第4列表示月份1~12
- 第5列标识号星期0~6(0表示星期天)
- 第6列要运行的命令
易错点归纳
- 出现报错1649
- 查看服务端的用户名和密码文件是否正确
- 密码文件忘记赋予权限
- 查验服务端和客户端的面是否一致
- 报其他错误可能为配置文件错误,仔细核对路径和ip
- 用
ps -ef|grep rsync
查进程号 - 杀死服务
kill -9 进程号
- 后台启动
rsync --daemon
最后,祝每位程序猿少加班,晚安有个好梦~ - ~