Задание расписания в неправильных интервалах

Вы рассмотрели изменение процесса (процессов), которые создают файл, чтобы создать их с 0775 режимами? Посмотрите на значение umask в среде - 0002, может помочь.

5
25.07.2014, 19:18
2 ответа

Можно воспользоваться командой 'at'

at now +4 hours -f commandfile

Или

at now +$((($RANDOM % 10)+2)) hours -f commandfile
10
27.01.2020, 20:32
[

]Вариант 1[

] [

]Запланируйте выполнение задания в cron каждый час (или каждый второй час), но прикрепите задание к чему-нибудь подобному (предполагая, что в crontab у вас []SHELL=/bin/bash[]):[

] [
[ $[RANDOM % 12] -eq 0 ] || exit 0; YOUR_JOB_HERE
] [

]Тогда будет приблизительно* один из двенадцати шансов, что задание будет выполняться каждый раз, когда оно было запланировано. [

] [

]Вариант 2[

] [

]Запланируйте задание cron, которое в начале дня вычисляет некоторые случайные времена и использует []на [] для составления расписания всех сегодняшних запусков. Это намного сложнее, но позволит вам использовать различные случайные распределения. Например, Вы можете захотеть, чтобы 2 часа были намного более вероятны, чем 12 часов.[

] [
] [

]Тонкая печать[

] [

][]*Этот метод генерации случайных чисел на самом деле является предвзятым. Проблема заключается в том, что максимум (32767) не является четным кратным 12 (минус один). Чтобы ясно видеть проблему, сравните, если бы максимум был 11 (12×1-1 = 11). 0 будет давать 0, 1 будет давать 1 и т.д. на всем протяжении 11 будет давать 11. Но если бы вместо этого было 13, то 12 дали бы 0, а 13 - 1. Таким образом, 0 и 1 имели бы [] два [] значения, которые дают их, а 2-11 имели бы только одно значение, поэтому они менее вероятны. Следовательно, это предвзято. Переход к формуле, использующей деление на максимум, не решает проблему, а просто изменяет, какие числа смещены. Фактические исправления - это гораздо больше кода (и в основном они заключаются в том, чтобы подделать максимум тем, чем он должен быть, попробовав еще раз, когда это не так).[][

]
6
27.01.2020, 20:32

Теги

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