Задать вопрос
@OLZ1

Планировщик cron: не выполняется пользовательский скрипт.?

Linux Mint 20.1 Ulyssa (Cinnamon 4.8.6)
Суть такова. Планировщику прописывается регулярная задача выполнения определённого сценария при включении/перезагрузке компьютера.
Допустим, в качестве сценария принимается незамысловатая чистка содержимого файла .bash_history:
#!/bin/sh
> ~/.bash_history

Данный сценарий заключён в отдельный испоняемый файл simple_script. При "ручном" запуске этого файла ошибок не возникает: требуемый файл чистится "как надо" ($./simple_script --> ok)
Но возникла необходимость поступить смелее - и попросить планировщик cron выполнять эту задачу самостоятельно.
При этом конкретное время выполнения сценария не прописывается: необходимо выполнять эту задачу при запуске системы (=> задействуется ключевое слово @reboot => anacron).
Мои действия следующие. В папке /etc/cron.daily размещаю для удобства вышеописанный файл simple_script ("чтобы уж наверняка"), и там же создаю исполняемый файл run, в котором прописывается:
#!/bin/sh
@reboot /etc/cron.daily/simple_script

Далее перезагружаю компьютер и - ничего не исполняется.
Что не так в этих действиях? Вернее - как выполнить поставленную задачу с использованием параметра @reboot без модифицирования конфигурационного файла?
  • Вопрос задан
  • 228 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
saboteur_kiev
@saboteur_kiev
software engineer
1. у сервиса crontab есть текущая директория, которая отличается от той, в которой находится ваш юзер, поэтому ./simple_script может означать, что simple_script должен лежать в корневом каталоге. Для начала попробуйте указать полный путь к скрипту.

2. В конкретно вашем случае вы используете системный кронтам, а не пользовательский. ~/.bash_history будет относиться к текущему юзеру, который в данном случае будет root
Точно у рута не очищается хистори при ребуте?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Vitsliputsli
Откуда взялся /etc/cron.daily ? Скрипты оттуда стартуют только 1 раз в сутки в определенное время. Используйте обычный список крона.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы