Intereting Posts
Как сделать EDID работа в / dev / shm вызывает переполнение Направление ввода Xorg в выбранное приложение Почему запрос пароля намного медленнее, чем приглашение для входа в систему? Поведение команды отличается при выполнении другим пользователем (через su -c) Изменить каталог для файлов подсветки синтаксиса Kate Как использовать команду cut для получения первого и последнего элементов строки? Есть ли Linux-эквивалент супер-администратора Windows? Файл конфигурации GIMP 2.9.4 не распознает установленные библиотеки Предотвратите препятствие загрузке debian при возникновении проблемы с программным рейдом Автоматически исправить путь при запуске команды из истории? Текущий вопрос: как я могу декомпилировать файл прошивки для рук, чтобы получить файл дерева устройств? Как написать скрипт, который эффективно определяет имя дистрибутива? Автоматизация не работает правильно для акций CIFS; странные результаты SSH в Ubuntu VM удаленно

Работа в Cron только за 7 дней, за которой не следует несколько недель

Мне нужно выполнить cronjob для запуска один раз в течение 7 дней. Я пробовал вот так:

0 0 * * 0-6 myscript.sh 

Он запускается один раз в день и работает каждый день недели с тех пор, как я дал 0-6.

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

(или)

Используя специальное время команды в cron, я использую только параметр @daily

Как я могу настроить задание на работу только 7 дней?

Вы не можете сделать это с cron . Однако вы можете сделать это с помощью. Посмотрите на man at за более подробной информацией. Вот пример скрипта для отправки задания myscript.sh течение следующих семи дней, работающего в полночь:

 for n in {1..7} do echo 'myscript.sh' | at midnight + $n days done 

Вы можете перечислить отправленные задания с помощью atq :

 atq | sort -n 3 Tue Sep 20 00:00:00 2016 a roaima 4 Wed Sep 21 00:00:00 2016 a roaima 5 Thu Sep 22 00:00:00 2016 a roaima 6 Fri Sep 23 00:00:00 2016 a roaima 7 Sat Sep 24 00:00:00 2016 a roaima 8 Sun Sep 25 00:00:00 2016 a roaima 9 Mon Sep 26 00:00:00 2016 a roaima 

Каждое задание выполняется ровно один раз в указанную дату и время и затем будет удаляться из очереди.

Если вам нужно удалить задание до его запуска, команда atrm сделает это. Например,

 atrm 3