本地服务器如何增量备份远程主机文件

阿蛮君网站之前正愁如何备份服务器上的网站数据,仅仅使用服务器备份到另一个目录,万一服务器没了,数据都完蛋。

于是想着,反正自己本地有一台当服务器用的笔记本,就用这台笔记本用定时任务增量备份服务器上的数据也不错。

这里使用到了 sshpass 命令,好处是可以不用使用公钥拷贝到远程服务器上,可以命令行输入密码,坏处显而易见就是没那么安全。

1. 安装sshpass

有可能机器上没安装命令,需要先进行安装。

apt install -y sshpass

2. 编写脚本

创建目录和脚本文件:

mkdir -p /usr/local/backup && \
touch /usr/local/backup/backup.sh && \
chmod +x /usr/local/backup/backup.sh

添加脚本文件内容 vim backup.sh

#!/bin/bash
shell_dir=$(cd $(dirname $0); pwd)
# 定义远程主机的用户名、IP地址和要备份的目录
remote_user="root"
remote_ip="1.1.1.1"
remote_dir="/home/xxx"

# 定义本地备份目录和要排除的文件/目录
local_dir="/usr/local/backup/xxx"
exclude_file=".git/"

# 定义日志文件
log_file="${shell_dir}/file.log"

# 定义SSH密码
ssh_pass="123456"

echo "备份开始执行于:$(date)" >> "$log_file"
# 使用sshpass命令进行SSH连接和增量备份
sshpass -p "$ssh_pass" rsync -avz --delete --exclude "$exclude_file" "$remote_user@$remote_ip:$remote_dir/" "$local_dir/" >> "$log_file"  2>&1
echo "备份执行完成于:$(date)" >> "$log_file"

3. 创建定时任务

比如我需要每天凌晨 2 点备份一次,只需要使用 crontab -e 命令,追加以下内容即可。

0 2 * * * /usr/local/backup/backup.sh
AD: 【腾讯云服务器大降价】 2核4G 222元/3年 1核2G 38元/年
网站:阿蛮君博客
标题:本地服务器如何增量备份远程主机文件
链接:https://www.amjun.com/1642.html
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!
THE END
分享
二维码
打赏
海报
本地服务器如何增量备份远程主机文件
阿蛮君网站之前正愁如何备份服务器上的网站数据,仅仅使用服务器备份到另一个目录,万一服务器没了,数据都完蛋。 于是想着,反正自己本地有一台当服务器用的……
<<上一篇
下一篇>>