LINUX.ORG.RU
решено ФорумAdmin

Удалить файлы старше X дней по scp, sftp или rsync

 , , ,


0

3

Есть backup storage, называется adrive. Оно умеет общаться по scp, sftp, rsync. Ssh оно не умеет. Пишу backup-скрипт в shell. Он ежедневно выкладывает туда архив rsync-ом. Локальный архив удаляется. На storage нужно удалять архивы старше х дней.

Как это сделать (Желательно красиво)? Второй день занимаюсь гуглением.

Либо хранить локально архивы то же количество дней и запускать rsync с --delete, либо курить маны клиента sftp

disarmer ★★★
()

имена файлов не содержат дату?

вывод списка файлов в ftp же имеет вид обычного ls, можно на него попячить.

Spoofing ★★★★★
()
Последнее исправление: Spoofing (всего исправлений: 1)

вот смотри короч, заходишь на фтп telnet'ом, ыыыыы, и потом ручками подключаешься в пассивном режиме на другой порт новой telnet сессией, получаешь список файлов формата ls -l, и смотришь на дату. по дате удаляешь ненужные файлы. пока практикуйся на локальном ls. чонить еще придумаем щя.. как работать с ftp вся инфа на скриншоте.

Spoofing ★★★★★
()
$ lftp sftp://user@server

lftp...> ls | sort -k5n

сортировка по размерам
anonymous
()

Если можно смотнировать, например через sshfs, то потом используй find:

find /mnt/sshfs -type f \! -newerct '14 days ago' \! -newermt '14 days ago' -exec ls {} \; -exec rm {} \;

gfh ★★★
()
Последнее исправление: gfh (всего исправлений: 1)
Ответ на: комментарий от gfh

Спасибо за ответы. Решил проблему просто стиранием всего в папке и перезаписыванием поверх. Тупо конечно, но это работает.

dopedopedope
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.