Systemd Rsync 文件定时同步

1. 环境

  • 操作系统:CentOS 7

主机:

  • master 192.168.0.98
  • backup 192.168.0.166

目标:每天凌晨3点从master/www增量的复制到backup上。

2. 配置主机的免密登录

在Backup上配置主机的免密登录,请参考 SSH 公钥免密登录[1]

3. Rsync 服务

在主机和从机上都安装Rsync

yum install -y rsync

注意以下该步骤仅需在从机Backup 配置,主机不需要。

在从机Backup上创建文件同步服务

vi /lib/systemd/system/filesync.service

填入下列内容,注意修改 rsync 的同步的源地址主机IP部分

[Unit]
Description=rsync file sync service.

[Service]
User=root
Type=oneshot
ExecStart=/usr/bin/bash -c 'rsync -av --delete [email protected]:/www/ /www'


[Install]
WantedBy=multi-user.target

注意请先完成 从机Backup免密登录主机Master的配置,否则该服务无效。

重新加载服务

systemctl daemon-reload

上面的服务实现了:从master/www增量的复制到backup上。

4. 定时器

注意该步骤仅需在从机Backup 配置,主机不需要。

为了实现:每天凌晨3点,需要创建一个定时器。

这里使用Systemd的timer服务

创建如下文件,文件名可自定义,后缀固定为.timer

vi /lib/systemd/system/filesync.timer

填入下面内容

[Unit]
Description=filesync.service timer.

[Timer]
Unit=filesync.service
OnCalendar=*-*-* 03:00:00

[Install]
WantedBy=multi-user.target

重新加载服务

systemctl daemon-reload

设置定时器开机自启动

systemctl enable filesync.timer

启动定时器

systemctl start filesync.timer

查看当前在运行的定时器,检验定时器是否生效

systemctl list-timers

在这里插入图片描述

5. 查看文件同步日志

定时器到时自动启动filesync.service服务,服务运行后可以通过下面命令查看,文件同步信息:

journalctl -f -u filesync.service

在这里插入图片描述

参考文献

[1]. csdn . SSH 公钥免密登录 . cliven . 2022.10.13 . https://blog.csdn.net/q1009020096/article/details/125166499
[2]. 阮一峰博客 . rsync 用法教程 . 阮一峰 . 2020.8.26 . https://www.ruanyifeng.com/blog/2020/08/rsync.html
[3]. 阮一峰博客 . Systemd 定时器教程 . 阮一峰 . 2018.3.30 . https://www.ruanyifeng.com/blog/2018/03/systemd-timer.html
[4]. freedesktop . systemd.timer . https://www.freedesktop.org/software/systemd/man/systemd.timer.html#

猜你喜欢

转载自blog.csdn.net/q1009020096/article/details/127904407