Этот демон запускается во время инициализации системы (сценарий /etc/init.d/crond
В конфигурационных файлах, называемых еще crontab-файлами, хранятся расписания: в каталоге /var/spool/cron
/etc/crontab — суперпользовательский. Выполнив задание, демон cron отправляет почтовое сообщение о результатах выполнения владельцу crontab-файла или пользователю, указанному в переменной MAILTO этого файла.Пользовательские crontab-файлы не предназначены для ручного редактирования, Для управления ими служит команда crontab
. Список тех, кому разрешено ее запускать, находится в файле/etc/cron.allow. Если этот файл отсутствует, то запускать crontab могут все, кроме тех, кто перечислен в файле /etc/cron.deny. Если отсутствуют оба файла, то запускать команду может только суперпользователь.Формат команды:
crontab [-u <логин_имя> ] [ <файл> | [-l] | [-r] | [-е] | [-i]]
Если указан файл, то этим файлом замещается crontab-файл указанного пользователя; если нет, то crontab-файл редактируется на месте. Ключи означают следующее:
♦ -l
— вывести на консоль содержимое файла расписания;♦ -r
— удалить файл расписания;♦ -i
— удалить, предварительно переспросив;♦ -e
— редактировать файл расписания, то есть открыть его в редакторе, указанном в переменной окружения $EDITOR (по умолчанию — vi).Если не указаны ни файл, ни ключи, то crontab
будет читать файл расписания со своего стандартного ввода. Закончив ввод строк, нажмите Ctrl+D.Каждая незакомментированная строка файла расписания имеет следующий формат:
минута час день месяц день_недели [логин_имя] команда
Поля спецификации времени могут содержать:
♦ символ *, соответствующий любому значению;
♦ число: 0–59 для минуты, 0–23 для часа, 1–31 для дня, 1–12 для месяца, 0–7 для дня недели (воскресенье — это и 0, и 7);
♦ диапазон чисел, разделенных дефисом: например, 1-5 в поле день_недели означает «с понедельника по пятницу»;
♦ числа или диапазоны, разделенные запятыми, действующими как ИЛИ.
Поля «день месяца» и «день недели» тоже объединяются как ИЛИ: задание будет выполнено в день, удовлетворяющий хотя бы одной из этих спецификаций.
Команда — это любая командная строка, допустимая правилами интерпретатора sh
.Например, следующая запись означает, что архивирование каталога /home/den
0 7 * * 1-6 tar cfz /backup/home.den.gz /home/den
В дистрибутивы Linux обычно входит готовый системный файл расписаний /etc/crontab
/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly и /etc/cron.monthly. Директива run-parts в файле /etc/crontab указывает, что следует выполнить все исполняемые файлы из указанного каталога.Глава 10
Резервное копирование и восстановление данных
В обязанности системного администратора входит обеспечение сохранности пользовательских данных. Потерять данные легко: их уничтожают ошибки в программном обеспечении, сбои оборудования, сами невнимательные пользователи. В случае домашнего компьютера разгильдяй-пользователь, теряющий данные, и несчастный системный администратор, которому приходится их восстанавливать, это обычно одно и то же лицо, но тем важнее уметь их восстановить. Пенять-то не на кого.
В этой главе я сначала рассмотрю способы вернуть случайно удаленный файл, а потом остановлюсь на принципах и средствах резервного копирования информации.
10.1. Восстановление удаленного файла
Из второй главы вы узнали, что файл на файловой системе ext2 (и ext3) представляет собой индексный дескриптор (
Первым делом размонтируйте раздел, содержавший удаленный файл. Это нужно для того, чтобы предотвратить перезапись его блоков во время попыток восстановления.