Как я заставляю крон выполнить что-то каждая минута “N” th, где n % 5 == 1?

Нет, delete[] освобождает только массив, созданный new[]

См. ссылку для получения дополнительной информации.

45
задан Jon Ericson 28 January 2009 в 22:55
поделиться

4 ответа

1-56/5 * * * * /my/script

Это должно работать над vixiecron, я не уверен в других реализациях.

78
ответ дан David Z 8 November 2019 в 01:03
поделиться

Используйте свое первое расписание:

*/5 * * * * /my/script

И добавляют это к запуску Вашего сценария:

sleep 60

(Да, это - шутка)

18
ответ дан Sean Bright 8 November 2019 в 01:03
поделиться

шутка sean.bright получила меня думающий..., почему бы не использовать...

* * * * * /my/script

... и в рамках сценария делают это...

#!/bin/bash
export WHEN=`date '+%M'`
echo $WHEN
export DOIT=`echo "$WHEN % 5" | bc` 
echo $DOIT
if [ $DOIT != 0 ] ; then
    echo "ha ha ha"
fi
echo "done"

... клудж..., возможно, но столь же ужасный как crontab... Я не знаю.

-5
ответ дан dacracot 8 November 2019 в 01:03
поделиться

Я бы создал новый сценарий "delaystart", который принимает период ожидания в качестве первого параметра, а сценарий для запуска в качестве остальных. Я бы заставил сценарий проверять строку crontab на наличие строки со сценарием и запускать сценарий только в том случае, если строка не закомментирована. Это делает его многоразовым, и ps не будет сообщать, что скрипт запущен, хотя на самом деле он не запущен.

#!/bin/bash
sleeptime=$1
sleep ${sleeptime}
shift
if ( ! crontab -l | grep -e '#.+delaystart '${sleeptime} $* ) then
  $*
fi
-1
ответ дан 26 November 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: