
再會
我使用這個腳本將我的家庭電腦備份到遠端電腦
#!/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”參數不起作用。