У меня есть сервер centos, и я хочу запускать на нем задание в 23:00 каждые 2 дня, как мне это сделать?
Вы можете использовать следующую схему cron. Поля обозначают (слева направо):
Минута, час, день месяца, месяц, день недели. «* / 2» в поле «День месяца» означает «каждые два дня».
0 23 */2 * * insert_your_script_here.sh
В общем, вам нужно использовать crontab для определения задачи и расписания запуска.
например
crontab -e -u root
Это поместит вас в запись crontab root для редактирования VI. Затем, как говорит ewwhite, введите:
0 23 */2 * * insert_your_script_here.sh
а затем [^ ESC] ZZ, чтобы сохранить изменения.
Это хорошая первая попытка, но это не совсем каждый альтернативный день, так как она будет запускаться 30-го числа месяца, а затем следующий запуск - 2-го числа. Если вам действительно нужно, чтобы это происходило каждые 2 дня, запускайте скрипт КАЖДУЮ ночь.
0 23 * * * insert_your_script_here.sh
и в начале скрипта используйте
#/bin/sh
if -f /tmp/altday.txt
rm /tmp/altday.txt
exit
fi
touch /tmp/altday.txt
При этом используется текстовый файл, чтобы заставить скрипт завершать каждый альтернативный вызов.