Как реализовать linux скрипт останавливающий выполнение программы каждые три дня?
Здраствуйте. Нужен скрипт работающий на Ubuntu 18.04 server, который завершает процесс по его имени или pid каждый третий день в 20.00 а через час запускает его снова.
Например 01.11.20 в 20.00 завершаем процесс sshd а через час, в 21.00 снова запускаем его. Потом проделываем тоже самое 04.11.20, потом 07.11.20, потом 10.11.20 и тд...
Ответы (1 шт):
Самое простое в данном случае - использование планировщика cron.
Набираем в терминале crontab -e и вставляем в конец:
0 20 */3 * * скрипт остановки
0 21 */3 * * скрипт запуска
Вместо скрипт остановки и скрипт запуска прописываем ваши команды/скрипты соответственно.
Стоит заметить, что в данном случае, запуски этих заданий будут производится в 20:00 и 21:00 в дни 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30.
Если вам требуется запускать, останавливать службы, то я бы использовал systemctl start/stop. В остальных случаях, думаю, kill.
Советую на досуге прочитать про вышеупомянутые kill, systemctl и cron.