
良い一日
このスクリプトを使用して、自宅の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」引数が機能しない理由はわかりません。