再会
我使用这个脚本将我的家用电脑备份到远程电脑
#!/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”参数不起作用。