Я использую Linux Enironment (Ubuntu 9. что-то). Я использовал следующую команду:
crontab -u myusername /home/myusername/test_cron_file
Прекрасно работает. Когда проверяю папку спула, все в порядке.
Вот в чем проблема. Что делать, если я хочу использовать дополнительный файл, например, test_cron_file_2
? Я просто хочу добавить этот файл тому же пользователю. Как я могу это сделать?
Попробуй это:
cat /home/myusername/test_cron_file_2 >> /home/myusername/test_cron_file
crontab -u myusername /home/myusername/test_cron_file
Сначала создайте отдельный файл, затем запустите crontab
cat /home/myusername/test_cron_file /home/myusername/test_cron_file2 > test_cron_file3
crontab -u myusername test_cron_file3
cron не хочет работать с вашими файлами. У него есть список записей для каждого пользователя, и вы можете отправить ему этот список, отредактировав файл, но он его список, не ваш; и нет возможности указать несколько списков.
То, что вы хотите сделать, представляет собой ужасную угрозу безопасности, но это уже подразумевается, когда вы работаете с PHP, поэтому я просто кратко упомяну здесь и помолчу об этом.
Вы можете позволить каждому из ваших пользователей редактировать свой файл. Вы назначаете имя файла каждому пользователю и даете им некоторый доступ к нему, чтобы они могли его редактировать. Но так же crontab
предоставляет возможность обновлять свою таблицу, когда вы делаете crontab -e
, вам нужно будет предоставить некоторые функции для обновления списка crontab после того, как пользователь закончит редактировать свой файл. Вы можете предоставить CGI или PHP-скрипт, чтобы сделать это из своего браузера, если хотите.
Этот скрипт должен будет объединить все существующие пользовательские файлы в один (cat
в основном позаботится об этом, вам нужно только убедиться, что каждый файл заканчивается новой строкой), а затем вы можете использовать crontab <file>
для обновления объединенного crontab из последней версии объединенного файла.
Что ж, я пытался сделать что-то более сложное, связанное с PHP. Однако двое комментировавших правы. На самом деле это невозможно.
Чтобы ответить на мой вопрос о PHP, мне нужно добавить в файл /etc/cron.d/anacron каждую строку, которую я хочу отобразить. Это самое простое объяснение, которое я нашел, чтобы делать то, что я хочу.
спасибо всем ответившим.