Cron

Материал из Wiki
Перейти к навигации Перейти к поиску

Добавление задания из под пользователя

Для добавления задания под пользователем (например, root) необходимо из под этого пользователыя запустить:

EDITOR="nano"

export EDITOR

crontab -e

Откроется vim на файл конфигурации:

i - добавляем задание

0  8  *  *  * /bin/bash /home/zabbix/script/jrnl/DelRAR.sh

Имя пользователя писать НЕ надо, сразу команду запуска

ESC - выходим из режима insert

:wq - записываем файл и выходим

ФАЙЛ С ЗАДАНИЯМИ НАХОДИТСЯ ПО ПУТИ /var/spool/cron/<имя_пользователя_из_под_которого_запускали crontab -e>

Если не срабатывает скрипт - дописываем к строке запуска скрипта: " > /tmp/test.log 2>&1"

0  8  *  *  * /bin/bash /home/zabbix/script/jrnl/DelRAR.sh > /tmp/test.log 2>&1

Смотрим в файле /tmp/test.log что именно пошло не так

Пример

crontab -e

# Example of job definition:

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
*/30  *  *  *  * root /home/zabbix/script/teamviewer/*
0  8  *  *  *  root /home/zabbix/script/raidinfo/*
0  6  *  *  *  root /home/zabbix/script/raid_freenas/*
30  2  *  *  *  root /home/zabbix/script/backup_config/backup_config_mikrotik.sh
0  3  *  *  *  root /home/zabbix/script/backup_config/backup_config_freenas.sh
*/60  *  *  *  * root /home/zabbix/script/mount_freenas/mount_freenas.sh
*/10  *  *  *  * root /home/zabbix/script/syncthing/syncthing_chk.sh
*/60  *  *  *  * root /home/zabbix/script/mikrotik/gw2_chk.sh
0  1  *  *  *  root /home/zabbix/script/syncthing/syncthing_chown_and_remove_old_files.sh
*/10  *  *  *  root /home/zabbix/script/jrnl/MergedDocs.sh
0  8  *  *  *  root /home/zabbix/script/jrnl/DelRAR.sh

Если необходимо запустить скрипт через cron из директории скрипта

crontab -e

alertPathBase="/var/www/alert/scripts/"
*/1  *  *  *  * cd ${alertPathBase} && ./smsAlertScriptRunCheck.sh > /tmp/test.log 2>&1

Экранирование символа "%" и " " в запускаемой команде, иначе работать не будет

(Как пример - дата/время)

0 0 * * * echo `date +\%Y-\%m-\%d\ \%H:\%M:\%S` "devider" >> /var/log/honeypot/iptables/iptables-honeypot_attack.log