Периодически запускать определенный скрипт во время загрузки

Предположим, что компьютер запускается нерегулярно. И я хочу запустить определенный скрипт во время загрузки один раз в месяц. Но я не могу настроить работу cron, так как не знаю, будет ли загружаться машина в эту дату.

Я хотя об этом подходе.

  • Я создаю файл с последним временем выполнения скрипта.
  • При каждой загрузке я делаю следующее:

if(file_exists("last_boot.txt")) { if(<<more then a month has passed since last date time>>) { <<run script>> } } else { <<run script>> } <<write current date time into the file>> 

Можно ли это сделать, используя некоторые стандартные инструменты без трюка с файлом?

One Solution collect form web for “Периодически запускать определенный скрипт во время загрузки”

Просто * запустите его в любом расписании с помощью cron и проверьте другую часть расписания в скрипте:

В одну сторону:

 @reboot /path/to/my_script.sh if has_run_this_month() { exit } 

Другой путь:

 0 0 1 * * /path/to/my_script.sh if has_run_since_reboot() { exit } 

* Существует несколько проблем с этим способом:

  • Вы когда-нибудь поддерживали работу машины более месяца? Два месяца? Что происходит в любом случае?
  • Вы когда-нибудь оставляете машину более месяца? Вы можете видеть, где это происходит …
  • Как вы убедитесь, что путь, в котором вы сохраняете состояние (потому что вы должны хранить его где-то постоянным), не может быть уничтожен при загрузке, потому что это RAM-диск?
  • Как я могу узнать, когда была запущена работа cron или она разбилась?
  • Где мой файл журнала crontab?
  • Как запустить команду, как если бы она вызывается из cron
  • Как я могу запускать работу Cron каждые 5 дней
  • / etc / crontab отредактировано путем копирования и вставки, как вернуться назад?
  • Является ли перезапуск cron или crond необходимым после каждого добавления или изменения нового расписания?
  • как временно отключить cronjob пользователя?
  • cron каждый X точный смысл
  • Могу ли я использовать переменные в файле crontab?
  • crontab исключает только определенную дату
  • Crontab для резервного копирования каталога
  • Interesting Posts

    Создать массив в bash с переменными как имя массива

    Запустить скрипт на хосте при запуске виртуальной машины с помощью virt-manager

    Xming не показывает окно xclock

    Где я могу найти таблицу версий дистрибутивов CentOS и соответствующих версий ядра Linux?

    Как искать файл для каждой записи в списке и печатать новый файл для каждой записи

    Как назвать объем в Linux, чтобы я мог распознавать каждый том в файловой системе?

    Есть ли инструмент, который может контролировать использование полосы пропускания для одного процесса?

    загруженный файл через filezilla на сервер proftp (на ubuntu 14.04 lts), но сообщил об ошибке 550

    Что делать, если результат из pipe не является последним аргументом в следующей команде

    Скопируйте файлы в папку назначения только в том случае, если файлы уже существуют. но исходные файлы имеют другое расширение файла

    Попытка добавить новую строку в команду вставки

    Исправить разделение разделов во FreeBSD

    Был ли Debian первым дистрибутивом, чтобы отличать передовые и упаковывающие изменения?

    Bash: повторить последние команды N

    Нет аналогового аудио с AMD E1 – HDMI "берет на себя"

    Linux и Unix - лучшая ОС в мире.