Crontab команда для самоудаления

Недавно, у меня спросили, есть ли способ запустить cron задание только один раз и далее прервать выполнение. Мой первоначальный ответ был — «Нет», но подумав я вспомнил, что такой способ существует…

Ведь с помощью команд cron, вы можете удалить cron задание после его выполнения, таким образом, cronjob запускается, а затем удаляет сам себя, заставляя его работать только один раз — то что надо!

Для примера, я тестировал все на своем VPS. Предположим, я хочу вызвать sh скрипт:

somescript.sh

Теперь, если я хочу, чтобы эта команда была удалена, как только она будет завершена:

  1. Запускаем (код выше);
  2. Затем используйте crontab -l, чтобы открыть crontab;
  3. grep -v для поиска файла (команды);
  4. Находим и закрываем через | crontab - .

Объединяем все вместе

somescript.sh; crontab -l | grep -v 'somescript.sh' | crontab -

Подписаться на новые статьи