rsync 删除远程电脑上的旧备份

rsync 删除远程电脑上的旧备份

再会

我使用这个脚本将我的家用电脑备份到远程电脑

#!/bin/bash
#Todays date in ISO-8601 format: 
DAY0=`date -I`

#Yesterdays date in ISO-8601 format: 
DAY1=`date -I -d "1 day ago"`

#The source directory: 
SRC="/home/honza/Downloads/"

#The target directory: 
TRG="[email protected]:/media/zaloha/$DAY0"

#The link destination directory: 
LNK="[email protected]:/media/zaloha/$DAY1"

#The rsync options: 
OPT="-avh --delete --link-dest=$LNK

#Execute the backup 
rsync $OPT $SRC $TRG

#3 days ago in ISO-8601 format 
DAY3=`date -I -d "3 days ago"`

#Delete the backup from 3 days ago, if it exists 
if [ -d /[email protected]:/media/zaloha/$DAY3 ] 
then rm -R /[email protected]:/media/zaloha/$DAY3 
fi

我不知道如何删除 3 天前的旧备份。当我在同一台电脑上备份,但在远程电脑上备份时,脚本运行良好。

--link-dest arg does not exist: /[email protected]:/media/zaloha/2013-03-15

并且旧备份不会被删除。

当脚本在远程 PC 上运行时,它也很好用。SRC 是

SRC = "[email protected]:/home/hunts/Downloads"

但我不知道这是否是管理解决方案?谢谢

答案1

我认为这个删除命令不起作用。也许可以尝试使用直接 SSH 命令来删除文件,例如:

ssh [email protected] rm -rf /media/zaloha/$DAY3

抱歉,但我无法告诉您为什么“link-dest”参数不起作用。

相关内容