Купите надлежащие лицензии. Высокая доступность не обходится дешево. Вам нужен высококачественный SAN для обеспечения высокой доступности так или иначе. Дополнительная лицензия для VMotion является каплей в море по сравнению с ценой SAN. Если Вы действительно волнуетесь по поводу лицензирования, можно использовать Hyper V, который дает Вам обработку отказа без доплаты. Вам все еще нужен SAN для этого для работы и если Вы получаете дешевый SAN, Вы получаете низкую эффективность, низкую надежность, и это возможно не будет работать вообще.
Вам не нужно больше разрешений и возможностей, чем пользователю Apache. Поскольку эти файлы создал пользователь apache, пользователь apache может их уничтожить. Пользователь apache кажется мне наиболее подходящим пользователем.
Вы можете либо поместить задание cron в crontab пользователя apache ( sudo crontab -u apache -e
), либо запустить задание из crontab пользователя root как пользователь apache:
1 5 * * * su apache -c "/path/to/cleanup_script.php"
Выберите вариант, который поможет вам легче всего отслеживать ваши задания cron.
Вы можете запустить cronjob с веб-сервера Apache (так что в Cron вы помещаете только HTTP-вызов), а также можете убедиться, что все ваши права доступа к файлам и папкам равны 777, когда вы их создаете. При создании папки вы можете указать режим, и при создании файла вы можете сделать то же самое. Вы также можете использовать setacl для этой папки, чтобы у обоих пользователей было разрешение, и он распространяется вниз по папке, например:
# mkdir /tmp/zip_files
# chown apache:apache /tmp/zip_files
# chmod og-rwx /tmp/zip_files
# setfacl -m u:test:rwx zip_files/ # allow test user to enter the folder
# setfacl -m d:u:test:rwx zip_files/ # assure test permissions to created files and folders
# setfacl -m u:test:rwx zip_files/
# getfacl /tmp/zip_files
Где "test" это ваш пользователь, от которого вы запускаете cron.
ps. Забудьте sudo, для этого вам не нужен root-доступ.