Скажем, я делаю это:
0 0 0 * * somejob
Это будет работать на дате набора, и если мой компьютер не будет не в ту дату, то это пропустит на той неделе?
Скажем, я установил это задание прямо сейчас. И затем мой компьютер выключен, 5 дней от знают в течение целого дня.
В основном мне нужно что-то для выполнения каждую неделю, но мой компьютер не может быть на 24/7.
Да, cron
только выполнит задание, запланированное в течение определенного времени, если компьютер будет работать в то время. Путем это работает, то, что каждую минуту, это проверяет все запланированные задания крона, чтобы видеть, соответствуют ли их поля времени текущей минуте, и если так, это выполняет задание. В противном случае это пропускается. Нет никакого понятия "сохранения" выполнения задания в течение более позднего времени.
То, что Вы могли сделать для Вашей ситуации, является использованием файл маркера для указывания в прошлый раз, когда задание было выполнено. Создайте немного сценария или программы, которая похожа на это (это - синтаксис псевдо-Bash):
if (marker file was last modified > 1 week ago); then
run the job
touch marker file
fi
и можно установить тот сценарий как задание крона для выполнения каждый день, каждый час, или даже каждую минуту - так часто, как необходимо удостовериться, что он будет работать по крайней мере один раз в неделю в течение времени, на котором у Вас есть свой компьютер.