Если вы хотите, чтобы программа запускалась столько раз, сколько было пропущено дней, пока система не работала, вы можете заключить свою команду в скрипт bash, как показано ниже, и использовать обычную ежедневную запись cron или anacron.
Начните с записи в файле, например, date.of.lastrun
количества дней с начала эпохи (т.е. с 1 января 1970 года), когда программа последний раз запускалась. Вы можете получить это значение на сегодня с:
echo $(($(date +%s)/86400))
Когда cron запускает этот скрипт, он считывает это число из файла, вычисляет число на сегодняшний день и повторяет вашу команду до совпадения, обновляя файл каждый раз.
let today=$(date +%s)/86400
lastrun=$(<date.of.lastrun)
if [ ! -z "$lastrun" ]
then while [ $lastrun -lt $today ]
do echo "run the command for $(($today-$lastrun)) days back"
# do your command ...
let lastrun+=1
echo $lastrun >date.of.lastrun
done
else echo 'you need to: echo $(($(date +%s)/86400)) >date.of.lastrun'
fi