rsync リモート PC 上の古いバックアップを削除する

rsync リモート PC 上の古いバックアップを削除する

良い一日

このスクリプトを使用して、自宅のPCをリモート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 日以上前のバックアップを削除する方法がわかりません。スクリプトは同じ PC でバックアップする場合はうまく機能しますが、リモートでは機能しません。

--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」引数が機能しない理由はわかりません。

関連情報