rsync 刪除遠端 PC 上的舊備份

rsync 刪除遠端 PC 上的舊備份

再會

我使用這個腳本將我的家庭電腦備份到遠端電腦

#!/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”參數不起作用。

相關內容