rsync удалить старую резервную копию на удаленном ПК

rsync удалить старую резервную копию на удаленном ПК

Добрый день

Я использую этот скрипт для резервного копирования моего домашнего ПК на удаленный ПК.

#!/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

и старые резервные копии не удаляются.

Он также хорошо работает, когда скрипт запущен на удаленном ПК. SRC — это

SRC = "[email protected]:/home/hunts/Downloads"

Но я не знаю, является ли это решением для управления? Спасибо.

решение1

Я не думаю, что эта команда удаления сработает. Может быть, попробовать использовать прямую SSH-команду для удаления файла, например:

ssh [email protected] rm -rf /media/zaloha/$DAY3

Извините, но я не могу сказать, почему аргумент «link-dest» не работает.

Связанный контент