Вы рассмотрели изменение процесса (процессов), которые создают файл, чтобы создать их с 0775 режимами? Посмотрите на значение umask в среде - 0002, может помочь.
Можно воспользоваться командой 'at'
at now +4 hours -f commandfile
Или
at now +$((($RANDOM % 10)+2)) hours -f commandfile
]Запланируйте выполнение задания в cron каждый час (или каждый второй час), но прикрепите задание к чему-нибудь подобному (предполагая, что в crontab у вас []SHELL=/bin/bash[
]):[
[ $[RANDOM % 12] -eq 0 ] || exit 0; YOUR_JOB_HERE
]
[]Тогда будет приблизительно* один из двенадцати шансов, что задание будет выполняться каждый раз, когда оно было запланировано. [
] []Запланируйте задание 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 имели бы только одно значение, поэтому они менее вероятны. Следовательно, это предвзято. Переход к формуле, использующей деление на максимум, не решает проблему, а просто изменяет, какие числа смещены. Фактические исправления - это гораздо больше кода (и в основном они заключаются в том, чтобы подделать максимум тем, чем он должен быть, попробовав еще раз, когда это не так).[][
]