Если в системе есть Пользователь и вы работаете в его среде, то при вводе в Терминал:
crontab -e
задание пишется в файл:
/var/spool/cron/имя_пользователя_в_системе
работать не будет.
Надо:
sudo crontab -e
и тогда уже задание пишется в файл:
/var/spool/cron/root
и так вот будет работать.
И обязательно апосля выполнить:
sudo /etc/init.d/cron restart
Можно в Терминале сразу, без открытия редактора и ручного ввода внести задание двумя способами:
1. Если задание ни разу вообще не добавлялось в системе в crontab, например:
echo -e '0 */8 * * * php /opt/acelist/as.php /opt/lists/as' | sudo crontab -
и в этом случае перезагружать cron не надо.
Но помните!!!
Добавить новое задание к существующему таким способом не получится, т.к. файл просто перезаписывается именно записанным в коде и оно - задание всегда будет единственным.
2. Если задание уже добавлялось в системе в crontab, то добавить новое можно так, например:
sudo sh -c "echo '0 */8 * * * php /opt/acelist/as.php /opt/lists/as' >> /var/spool/cron/crontabs/root"; sudo /etc/init.d/cron restart
в этом случае задание добавляется новой строкой в файл и уже перегрузка cron нужна, что в коде и присутствует.
Этот же, второй способ добавляет новой строкой и новое задание, если применялся Способ №1.