Archive

Скрипт archive.sh (Linux/bash) архивирует файлы в текущем или в заданном каталоге, имеющие дату изменения раньше заданной, затем проверяет созданный архив, перемещает его в заданный каталог (с помощью scp, можно указывать путь в виде server:/path) и опционально удаляет архивированные файлы. Удобно использовать для архивирования файлов за прошлый год.

Можно использовать в пакетном режиме (не задает вопросов):

archive.sh <исходный каталог> <каталог назначения> <дата> <префикс имени файла> или в интерактивном, при запуске без параметров:

Starting archive script
Batch usage:
archive.sh <source dir> <target dir> <ref date> <filename prefix>

Entering interactive mode
Hit Enter to accept [default values]
Source directory [/data/files/2009]:
Target directory [arcserver:/default/dir]:
Archive files older than (YYYYMMDD) [20100101]:
The resulting archive filename is prefix20100217.tar.gz
Prefix [2009]: data-files-
Searching for files older than 47 day(s)
Files found: 11158
Archiving files to /root/data-files-20100217.tar.gz
Done
Checking the archive against the file system
No errors
Moving /root/data-files-20100217.tar.gz to arcserver:/default/dir
data-files-20100217.tar.gz          100%   17MB 123.0KB/s 02:18
Done
Delete archived files (y/n)? y
Deleting archived files
Done
Archiving completed successfully

По умолчанию каталог для архивирования — текущий, каталог назначения указан в начале скрипта (TARGET_DIR), дата — 1 января текущего года, префикс имени файла — имя каталога для архивирования.

В пакетном режиме архивированные файлы удаляются без подтверждения.

Скачать скрипт archive.sh

One Pingback/Trackback