龙空技术网

使用rsync同步远程文件

米斯特Kong 391

前言:

当前各位老铁们对“备份远程服务器数据库到本地”都比较关怀,兄弟们都想要剖析一些“备份远程服务器数据库到本地”的相关资讯。那么小编也在网摘上搜集了一些有关“备份远程服务器数据库到本地””的相关资讯,希望朋友们能喜欢,小伙伴们快快来了解一下吧!

需求:将192.168.0.1(server1)上的/opt/data目录定时同步到192.168.0.2(server2)的/opt/backup1. 将server1的公钥写入server2

# 1.通过SSH生成公钥和私钥ssh-keygen -t rsa# 2.将公钥复制到远程服务器上,这个是将本地公共密钥填充到远程机器上的authorized_keys文件中ssh-copy-id <username>@<remote_server_ip># 3.确认可以通过SSH登录到远程服务器ssh root@192.168.0.2
2.编写备份脚本
# 需要备份的本地路径local_backup_dir="/opt/data"remote_user="root"# 远程服务IPremote_server="192.168.0.2"# 远程备份文件夹remote_backup_dir="/opt/backup"# 使用rsync命令将本地文件备份到远程服务器# -a: 归档模式,表示以递归方式传输文件,并保留所有文件属性,包括权限、时间戳等等# -v: 显示传输进度和详细信息。# -z: 启用压缩传输,可以加快传输速度,特别是在网络带宽有限的情况下。# --delete: 在远程服务器上删除任何在本地备份目录中不存在的文件或目录。# -e ssh: 指定使用SSH协议进行传输。第一步配置了公钥,使用SSH密钥进行身份验证。rsync -avz --delete -e ssh $local_backup_dir $remote_user@$remote_server:$remote_backup_dir # 输出备份完成时间echo "Backup completed at $(date +%Y-%m-%d_%H:%M:%S)" >> /opt/log/backup.log
3.添加到cron定时任务使用以下命令打开crontab编辑器:crontab -e在文件末尾添加以下一行,以在每天早上5点备份:
0 5 * * * /bin/bash /path/to/backup.sh
crontab语法
*     *     *   *    *        command to be executed-     -     -   -    -|     |     |   |    ||     |     |   |    +----- day of the week (0 - 6) (Sunday=0)|     |     |   +------- month (1 - 12)|     |     +--------- day of the month (1 - 31)|     +----------- hour (0 - 23)+------------- min (0 - 59)
4.注意事项:要保证源主机向目的主机ssh访问可行,检查目的主机的/etc/hosts.allow和/etc/hosts.allow;参考

标签: #备份远程服务器数据库到本地