Если компьютер свой, то назначить эти задания можно через команду терминала crontab -e (см. пользовательское задание cron):
01 18-21 * * * /home/minter/.config/scripts/cron1.sh
05 21 * * * /home/minter/.config/scripts/cron2.sh
01 18-21 * * * /home/minter/.config/scripts/cron1.sh
05 21 * * * /home/minter/.config/scripts/cron2.sh
Но если компьютер не свой (вы кому-то помогаете дистанционно) или каждый раз просто лень постоянно вносить изменения в сron через crontab -e ?
К счастью, решение имеется. Достаточно выполнить скрипт, который перезапишет пользовательский cron содержанием готового файла, в который заранее внесены все необходимые команды.
Создадим скрипт, который "обнулит" текущий cron пользователя и запишет новый cron из подготовленного файла.
🔰 Примечание. Приём заимствован из арсенала администраторов Linux, но с успехом работает и в системе только с одним пользователем.
Пример:
#!/bin/bash
crontab -r
crontab -u minter /home/minter/Shared/cronjob
exit
-u minter указывает на то, что новый cron будет назначен для пользователя системы с логином minter. Если пользователь имеет логин user, то будет -u user
/home/minter/Shared/cronjob указывает полный путь к файлу cronjob
Сохраните данный скрипт как исполняемый файл sh, например newcron.sh
Файл cronjob (или любое другое имя) представляет из себя обычный текстовый файл. Пример:
#
01 18-21 * * * /home/minter/.config/scripts/cron1.sh
05 21 * * * /home/minter/.config/scripts/cron2.sh
Обратите внимание, что в данном текстовом файле нет необходимости делать перевод каретки на новую строку, как это предписано при редактировании через crontab -e
Попробуйте выполнить созданный скрипт. Откройте на редактирование cron (crontab -e) и убедитесь, что синтакис cron соблюдён, то есть пустая строка в конце присутствует.
Комментариев нет:
Отправить комментарий