суббота, 1 марта 2014 г.

Установка cron в CentOS 6.5

В системе CentOS 6.5 minimal сразу после установки нет демона cron, хотя есть директория /etc/cron.daily и даже со скриптами.
Добавил туда свой скрипт — не срабатывает. Так как демона cron нет. Файла /etc/crontab тоже нет.
Проверить можно так:
# ps fax | grep cron
Если выводит только вызванный grep, то значит в системе нет cron.
Ещё один способ — попробовать его стартовать:
# service crond start
Если выводит crond: unrecognized service, то, соответственно, служба отсутствует.

Вот как нужно её устанавливать
# yum install vixie-cron -y

После этого уже можно запускать:
#service crond start
#/sbin/chkconfig crond on

Теперь есть файл /etc/crontab и служба cron работает.
Синхронизация времени на сервере с CentOS

1. Устанавливаем пакет ntp
# yum -y install ntp

2. Редактируем конфигурационный файл
# nano /etc/sysconfig/ntpd
     SYNC_HWCLOCK=yes
     OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -L"

3. Синхронизуем время
# /usr/sbin/ntpdate 0.rhel.pool.ntp.org europe.pool.ntp.org

4. Добавляем в автозапуск и стартуем:
# chkconfig --level 3 ntpd on
# service ntpd start

5. Выставляем временную зону
Файл временной зоны находиться здесь: /etc/localtime
Резервируем его для сохранности на всякий случай:
# mv /etc/localtime /etc/localtime-old
Делаем символьную ссылку файла нужной зоны (например для г. Уфа):
# ln -s /usr/share/zoneinfo/Asia/Yekaterinburg /etc/localtime
Рестартуем сервис ntp:
# service ntpd restart

6. Сервис ntp иногда сбоит и его лучще всего периодически перезапускать скриптом:
#!/bin/bash
service ntpd stop >/dev/null
ntpdate 0.rhel.pool.ntp.org europe.pool.ntp.org
service ntpd start >/dev/null

Скрипт сохраняем в /usr/bin/ под имменем ntprestart.sh
Затем прописываем в /etc/crontab строку:
55 2 * * *  root /usr/bin/ntprestart.sh