rsync定时备份脚本
时间: 2023-10-19 08:36:16 浏览: 136
以下是一个使用rsync进行定时备份的脚本示例:
```shell
#!/bin/sh
# 检测进程锁是否存在,如果存在则退出脚本
if [ -f /var/lock/rsync.lock ]; then
echo "Another rsync process is running. Exiting..."
exit 1
fi
# 创建进程锁文件
touch /var/lock/rsync.lock
# 从源主机拉取同步数据到本地
rsync -av -e 'ssh -p22' root@192.168.0.100:/home/rsbak/ /home/bak/
# 将源主机同步至备份主机
rsync -av /home/rsbak/ root@192.168.0.252:/home/bak/
# 本地备份: bak同步到bakbak
rsync -r /home/bak/ /home/bakbak/
# 同步到目的主机bak目录下,注意使用--delete参数会删除目标主机上不存在的文件,慎重使用
rsync -av --delete /home/rsbak/*.txt root@192.xx.xx.xx:/home/bak/
# 删除进程锁文件
rm /var/lock/rsync.lock
```
这个脚本会在执行之前检测是否存在进程锁文件`/var/lock/rsync.lock`,如果存在,则表示已经有另一个rsync进程正在运行,并退出脚本。接着,脚本会创建进程锁文件,然后使用rsync命令将数据从源主机同步到本地、将源主机同步到备份主机、进行本地备份以及将文件同步到目标主机。最后,脚本会删除进程锁文件,以便下次执行备份任务。请注意,这只是一个脚本示例,你需要根据自己的实际情况进行修改和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文