使用NAS备份VPS

今天想到, 可以使用rsync来备份VPS的数据。

rsync很好用, 可以增量同步。

我的NAS(群晖某型号)装的是Linux系统, 装了rsync并且有计划任务的功能, 于是我在这里抄并修改了一个脚本, 然后让它定期运行就可以达到自动备份的目的。

#!/bin/sh

HOME="/volume2/homes/twd2/VPS_Backup/"
SSHID="$HOME/.ssh/id_rsa"

REMOTE_USER="username"
REMOTE_SERVER="server"
REMOTE_PORT="22"
REMOTE_SOURCE="~/"

TARGET="$HOME/$REMOTE_SERVER"
LOG="$HOME/$REMOTE_SERVER.log"

if [ ! -d "$TARGET" ]; then
    mkdir "$TARGET"
fi

OLD_LOG="$LOG.old"

touch "$LOG"
tail -n 1000 "$LOG" > "$OLD_LOG"
mv "$OLD_LOG" "$LOG"

echo "[`date`]" >> "$LOG"
/usr/syno/bin/rsync -rptvz --delete -e "ssh -p $REMOTE_PORT -i $SSHID" $REMOTE_USER@$REMOTE_SERVER:$REMOTE_SOURCE $TARGET >> $LOG 2>&1
echo "[`date`]" >> "$LOG"

这个脚本首先创建了目标目录, 然后保留了最新1000条日志, 最后开始和远程服务器(VPS)同步。

另外, 还可以加上–exclude “路径”参数来剔除某些路径下的文件或目录。

发表评论?

1 条评论。

  1. 你好,
    请问,使用群晖NAS备份vps的步骤是:
    ssh连接群晖NAS,然后从NAS发起对VPS的备份请求吗 ?

    纠结与NAS没有公网的IP地址,站长是怎样做的 ?

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/6641QrCode