释放程序猿的加班时间,rsync+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
  1. 查看服务端的用户名和密码文件是否正确
  2. 密码文件忘记赋予权限
  3. 查验服务端和客户端的面是否一致
  • 报其他错误可能为配置文件错误,仔细核对路径和ip
  1. ps -ef|grep rsync查进程号
  2. 杀死服务
kill -9 进程号
  1. 后台启动
rsync --daemon

最后,祝每位程序猿少加班,晚安有个好梦~ - ~
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qing1912/article/details/109363417