rsync实时备份到另一台服务器
414 字
2 分钟
rsync实时备份到另一台服务器
前言:
如果需要两台服务器数据同步 可以使用此脚本实现修改文件、删除文件自动同步数据 本脚本需要密钥实现免密传文件到另一台服务器 以debian系统为例
安装
两台服务器都要安装rsync
apt install rsync需要备份的服务器安装实时监控inotify-tools
apt install inotify-tools创建实时备份脚本
vim rsync_backup.sh手动备份全部
rsync -av /备份目录 root@远程服务器ip:/存储目录手动远程同步
rsync -avz --delete /备份目录 root@远程服务器ip:/存储目录卸载实时监控inotify-tools
sudo apt-get autoremove --purge inotify-tools创建实时备份脚本
脚本见文章最下面 设置可读权限
chmod +x rsync_backup.sh设置后台运行
vim /etc/systemd/system/rsync-backup.service后台运行脚本见文章最下面 重新加载配置
sudo systemctl daemon-reload启动后台运行
sudo systemctl start rsync-backup.service申请密钥 实现免密传文件到另一台服务器
申请密钥 一路回车即可
ssh-keygen -t ecdsa -b 521导入公钥到另一台vps
ssh-copy-id -i ~/.ssh/id_ecdsa.pub -p 服务器端口 root@服务器IP地址如果是导入自己的密钥 请给私钥设置可读权限
chmod 600 .ssh/id_ecdsa实时备份脚本
#!/bin/bash
# 监控目录 SOURCE_DIR="/备份目录"
# 备份到的远程服务器路径 REMOTE_DIR="root@ip:/存储目录"
# 使用 inotifywait 监控文件的变化 inotifywait -m -r -e modify,create,delete --exclude '.*\.swp|.*\.bak' "$SOURCE_DIR" | while read path action file; do echo "File $file in directory $path was $action. Starting rsync backup..." # 同步文件的修改、创建、删除操作 rsync -avz --delete "$SOURCE_DIR" "$REMOTE_DIR" done后台运行脚本
[Unit] Description=Rsync Backup Script
[Service] ExecStart=/root/rsync_backup.sh Restart=always
[Install] WantedBy=multi-user.target支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
rclone定时备份文件到网盘
常用脚本定时备份文件到网盘
2
解决Cloudflare Pages部署纪录过多导致无法删除项目的问题
常用脚本最近要在Cloudflare Pages删除项目遇到无法删除的问题 解决方法
3
通过 acme.sh 轻松申请 Let's Encrypt 通配符证书
常用脚本通过acme.sh申请通配符证书
4
Linux VPS 使用 tc 实现端口限速教程(支持动态解除限速)
常用脚本详细讲解 Linux VPS 使用 tc 实现端口限速、流量控制、自动限速与解除限速的方法,支持 Xray、Hysteria、Docker 等服务。
5
Debian安装fail2ban封禁恶意ip
常用脚本VPS安全防护 解决VPS被扫 CPU高占用
随机文章随机推荐
