Как реализовать 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 шт):

Автор решения: Vladislav Tikhomirov

Самое простое в данном случае - использование планировщика 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.

→ Ссылка