Резервное копирование файловых систем с помощью команды cron

Ниже приведены инструкции по созданию сценария crontab, который затем будет передан на выполнение командой cron.

Примером может служить сценарий резервного копирования двух пользовательских файловых систем, /home/plan и /home/run, каждую ночь с понедельника по субботу. Обе файловые системы записываются на одну ленту, и каждое утро в устройство загружается новая лента для использования следующей ночью. Ночью в понедельник создается полный архив (уровня 0). Со вторника по субботу выполняется дополняющее резервное копирование.

  1. Создание сценария crontab начинается с запуска команды crontab-e. Она открывает пустой файл, в который можно добавлять записи, передаваемые каждую ночь команде cron (по умолчанию файл открывается в редакторе vi). Введите:
    crontab -e 
  2. В данном примере показаны шесть полей команды crontab. В поле 1 нужно ввести минуты, в поле 2 - часы (в 24-часовом формате), в поле 3 - день месяца, а в поле 4 - месяц. В полях 3 и 4 показаны звездочки (*), означающие, что сценарий будет запускаться каждый месяц в день, указанный полем день/нед. В поле 5 указывается день недели; кроме того, можно указать диапазон дней, например, 1-6. В поле 6 указывается команда оболочки.
    мин час день/мес мес/год день/нед       команда оболочки
    
    0    2     *      *        1             backup -0 -uf /dev/rmt0.1 /home/plan

    При использовании такой командной строки предполагается, что обслуживающий персонал системы будет присутствовать в это время и при необходимости сможет ответить на приглашения. Флаг -0 (нуль) команды backup означает нулевой уровень копирования, то есть полное резервное копирование. Флаг -u обновляет запись в файле /etc/dumpdates, а флаг f указывает имя устройства, в данном случае - накопитель на магнитной ленте с прямым доступом 0.1.

  3. Для каждой файловой системы, резервная копия которой должна быть создана в определенный день, введите строку, аналогичную пункту 2. Ниже показан пример полного сценария резервного копирования двух файловых систем каждый день шесть дней в неделю:
    0 2 * * 1 backup -0 -uf/dev/rmt0.1 /home/plan
    0 3 * * 1 backup -0 -uf/dev/rmt0.1 /home/run
    0 2 * * 2 backup -1 -uf/dev/rmt0.1 /home/plan
    0 3 * * 2 backup -1 -uf/dev/rmt0.1 /home/run
    0 2 * * 3 backup -2 -uf/dev/rmt0.1 /home/plan
    0 3 * * 3 backup -2 -uf/dev/rmt0.1 /home/run
    0 2 * * 4 backup -3 -uf/dev/rmt0.1 /home/plan
    0 3 * * 4 backup -3 -uf/dev/rmt0.1 /home/run
    0 2 * * 5 backup -4 -uf/dev/rmt0.1 /home/plan
    0 3 * * 5 backup -4 -uf/dev/rmt0.1 /home/run
    0 2 * * 6 backup -5 -uf/dev/rmt0.1 /home/plan
    0 3 * * 6 backup -5 -uf/dev/rmt0.1 /home/run
  4. Сохраните созданный файл и закройте редактор. После этого операционная система передаст файл crontab сценарию cron.