Резервное копирование конфигурации Ubiquiti (UBNT) устройств

Били грозы как-то наши Ubiquiti (UBNT) антенны, которые потом приходилось ремонтировать, менять и естественно наново настраивать. Поэтому решил сделать автоматическое копирование конфигурации.

Читать далее «Резервное копирование конфигурации Ubiquiti (UBNT) устройств»

Решение ошибки find /var/lib/amavis/virusmails/

Заметил что после обновления Ubuntu с версии 12 до 14, от Cron начала приходить на email ошибка:

Cron find /var/lib/amavis/virusmails/ -ctime +15 | xargs rm -rf {}
find: `/var/lib/amavis/virusmails/`: Нет такого файла или каталога

Amavis был установлен в комплекте с iRedMail 0.8.6.

Задание в кроне для антивируса amavis можно посмотреть командой:

sudo crontab -e -u amavis

Можно закомментиировать задание и сообщения исчезнут.

Задание удаляет старые файлы из директории /var/lib/amavis/virusmails/, но самой директории нету. Поэтому можно создать отсутствующую директорию:

sudo mkdir /var/lib/amavis/virusmails/

Назначим права, владельца и группу amavis:

sudo chmod 750 /var/lib/amavis/virusmails/
sudo chown amavis:amavis /var/lib/amavis/virusmails/

Решение ошибки «Please run this cronjob as user amavis»

После установки обновлений на систему Ubuntu 14.04.1 LTS ежедневно начала появляться ошибка с текстом:

/etc/cron.daily/amavisd-new:
Please run this cronjob as user amavis
run-parts: /etc/cron.daily/amavisd-new exited with return code 1

Причиной стало обновление amavis и перемещение при обновлении конфигурационного файла /etc/cron.daily/amavisd-new в /etc/cron.d/amavisd-new, при чем старый файл почему-то не был удален.

В итоге решение данной проблемы — убедиться что конфигурационный файл /etc/cron.d/amavisd-new присутствует и удалить старый файл /etc/cron.daily/amavisd-new.

Использование и настройка CRON

Cron — планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в определённое время.

Файл находится по адресу /etc/crontab, именно в него и добавляются строки с командами которые необходимо автоматически выполнять, а также команды можно поместить отдельным файлом в директории /etc/cron.d/, /etc/cron.daily/, /etc/cron.hourly/, /etc/cron.monthly/, /etc/cron.weekly/.

Приведу пример добавляемой строки в cron:

* * * * * команда

Таблица времени запуска:
— — — — —
| | | | |
| | | | —— День недели (0 — 7) (Воскресенье =0 или =7)
| | | ——- Месяц (1 — 12)
| | ——— День (1 — 31)
| ———— Час (0 — 23)
————- Минута (0 — 59)

Приведу несколько примеров времени выполнения команд:
* * * * * 
Каждую минуту

*/5 * * * * 
Каждые 5 минут

0 * * * *
Каждый час

59 23 31 12 5
За минуту до конца года, если последний день года — пятница

59 23 31 Dec Fri
За минуту до конца года, если последний день года — пятница (еще один вариант записи)

45 17 7 6 *
Каждый год 7-го июня в 17:45

0,15,30,45 0,6,12,18 1,15,31 * 1-5
В 00:00, 00:15, 00:30, 00:45, 06:00, 06:15, 06:30, 06:45, 12:00, 12:15, 12:30, 12:45, 18:00, 18:15, 18:30, 18:45, если сейчас 1-е, 15-е или 31-е число любого месяца и только по рабочим дням недели

*/15 */6 1,15,31 * 1-5
В 00:00, 00:15, 00:30, 00:45, 06:00, 06:15, 06:30, 06:45, 12:00, 12:15, 12:30, 12:45, 18:00, 18:15, 18:30, 18:45, если сейчас 1-е, 15-е или 31-е число любого месяца и только по рабочим дням недели (еще один вариант записи)

0 12 * * 1-5 (0 12 * * Mon-Fri)
В полдень по рабочим дням

* * * 1,3,5,7,9,11 *
Каждую минуту в январе, марте, мае, июле, сентябре и ноябре

1,2,3,5,20-25,30-35,59 23 31 12 *
В последний день года в 23:01, 23:02, 23:03, 23:05, 23:20, 23:21, 23:22, 23:23, 23:24, 23:25, 23:30, 23:31, 23:32, 23:33, 23:34, 23:35, 23:59

0 9 1-7 * 1 
Первый понедельник каждого месяца, в 9 утра

0 0 1 * * 
В полночь, первого числа, каждый месяц

* 0-11 * *  
Каждую минуту до полудня

30 9 1 * *
1-го числа каждого месяца в 9:30

* * * 1,2,3 *
Каждую минуту в январе, феврале и марте

* * * Jan,Feb,Mar *
Каждую минуту в январе, феврале и марте

0 0 * * * 
Каждый день в полночь

0 0 * * 3 
Каждую среду в полночь

Чтобы результат выполнения команды не приходил на электронную почту в конце команды можно добавить:

> /dev/null 2>&1

Вот пример строки добавления скрипта /home/user/scrips.sh в Cron для автозапуска каждый день в полночь (файл должен быть с правами на выполнение):

0 0 * * * /home/user/script.sh > /dev/null 2>&1

Смотрите также:
Настройка Cron заданий в cPanel и WHM

Очистка FDB таблицы на DGS-3100 из CRON

Создать файл с содержанием:

snmpset -v2c -c комьюнити айпи .1.3.6.1.4.1.171.10.94.89.89.1.2.0 i 7

Прописать в cron строку с путем к нему:

*/30 * * * *    /home/пользователь/fdb.sh > /dev/null 2>&1

Перезаустить планировщик: sudo /etc/init.d/cron restart

В итоге cron запускает файл каждые 30 минут из которого по SNMP отсылается OID выполняющий очистку таблицы мак адресов. Это может быть примитивным вариантом решения проблемы с моделью DGS-3100 которая при средней нагрузке часто может просто переставать пропускать через себя трафик. Эта проблема массово обсуждалась на форуме D-Link, решение которой можно сказать так и не было найдено. У кого еще остались модели DGS-3100 их лучше заменить на DGS-3120.