Удалить файлы * .ZIP старше 15 дней - PullRequest
0 голосов
/ 16 октября 2019

В настоящее время я использую PHP-скрипт для ежедневного резервного копирования баз данных, и он работает как чудо. После резервного копирования я использую приведенный ниже сценарий оболочки для архивирования файла резервной копии:

find /home/root/BACKUPS/backup.sql | xargs zip -czvPf /home/root/BACKUPS/$(date +%F)_backup.sql.zip

Мне нужно добавить фрагмент кода, который также будет сканировать ранее созданный "$(date +%F)_backup.sql.zip", и удалить любой, более старый, чем15 дней.

У кого-нибудь есть какие-либо рекомендации о том, как сделать эту работу?

ОБНОВЛЕНИЕ 16.10.2009 1601HRS EST

find /home/root/BACKUPS/backup.sql   | xargs zip -czvPf /home/root/BACKUPS/$(date +%F)_backup.sql.zip
find /home/root/BACKUPS/ -mtime +14 -type f -iname '*.backup.sql.zip' -exec rm {} \;

Это не удалило файлы, которые должны были быть удалены. Я не уверен, что мне не хватает;может быть ';'после первой строки. Несмотря на то, что первая строка работает правильно, архивируя и называя файл SQL, вторая строка не работает.

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Это отлично сработало для меня.

Backup.php

#!/usr/bin/php

<?php
$file = "/home/root/BACKUPS/backup.sql";
$command = "mysqldump -uroot_admin -pkeypw --all-databases > $file";
system($command);
?>

Backup.bat

find /home/root/BACKUPS/backup.sql   | xargs zip -czvPf /home/root/BACKUPS/$(date +%F)_backup.sql.zip
find /home/root/BACKUPS -name "*.zip" -type f -mtime +15 -exec rm -f {} \;

Ссылка: https://tecadmin.net/delete-files-older-x-days/

В основном @Sebastian часть .backup.sql ссылки на имя файла не должна была быть включена. Поэтому вместо *.backup.sql.zip нужно было просто быть *.zip Спасибо @Sebastian за лидерство.

0 голосов
/ 16 октября 2019

пока не может комментировать.

Полагаю, вы хотите что-то вроде этой команды-оболочки:

find /home/root/BACKUPS/ -mtime +15 -type f -iname '*.backup.sql.zip' -exec rm {} \;

Редактировать:

Некоторое объяснение: Это находит и удаляет (-exec rm {} \;) все файлы (типа f) с именем, оканчивающимся на «backup.sql.zip», со временем модификации старше 15 дней (mtime +15).

Надеюсь, это поможет.

...