Скрипт archive.sh
(Linux/bash) архивирует файлы в текущем или в заданном каталоге, имеющие дату изменения раньше заданной, затем проверяет созданный архив, перемещает его в заданный каталог (с помощью scp, можно указывать путь в виде server:/path
) и опционально удаляет архивированные файлы. Удобно использовать для архивирования файлов за прошлый год.
Можно использовать в пакетном режиме (не задает вопросов):
<br />
archive.sh <исходный каталог> <каталог назначения> <дата> <префикс имени файла><br />
или в интерактивном, при запуске без параметров:
<br />
Starting archive script<br />
Batch usage:<br />
archive.sh <source dir> <target dir> <ref date> <filename prefix><br />
<br />
Entering interactive mode<br />
Hit Enter to accept [default values]<br />
Source directory [/data/files/2009]:<br />
Target directory [arcserver:/default/dir]:<br />
Archive files older than (YYYYMMDD) [20100101]:<br />
The resulting archive filename is prefix20100217.tar.gz<br />
Prefix [2009]: data-files-<br />
Searching for files older than 47 day(s)<br />
Files found: 11158<br />
Archiving files to /root/data-files-20100217.tar.gz<br />
Done<br />
Checking the archive against the file system<br />
No errors<br />
Moving /root/data-files-20100217.tar.gz to arcserver:/default/dir<br />
data-files-20100217.tar.gz 100% 17MB 123.0KB/s 02:18<br />
Done<br />
Delete archived files (y/n)? y<br />
Deleting archived files<br />
Done<br />
Archiving completed successfully<br />
По умолчанию каталог для архивирования — текущий, каталог назначения указан в начале скрипта (TARGET_DIR), дата — 1 января текущего года, префикс имени файла — имя каталога для архивирования.
В пакетном режиме архивированные файлы удаляются без подтверждения.
Уведомление: Скрипт archive.sh для архивирования файлов за прошлый год