Archive

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

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

<br />
archive.sh &lt;исходный каталог&gt; &lt;каталог назначения&gt; &lt;дата&gt; &lt;префикс имени файла&gt;<br />

или в интерактивном, при запуске без параметров:

<br />
Starting archive script<br />
Batch usage:<br />
archive.sh &lt;source dir&gt; &lt;target dir&gt; &lt;ref date&gt; &lt;filename prefix&gt;<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

One Pingback/Trackback