Cron
Работаю с кроном и загвоздка.
Нужно из файла запустить крон
пишу
crontab /home/user/cron
и не считывает с него
на выходе crontab -l
пусто
через cPanel работает
то что в кроне
MAILTO="zohmsk"
1 3 * * * /home/user/mail
1 3 * * * /home/user/mail
crontab somefile
считывает и сохраняет расписание из файла somefile, а не запускает cron.
zoh
Сдается мне, что ему не нравится строчка:
MAILTO="zohmsk"
если он находит файл.
Кстати раздел для вопроса выбран не совсем корректно. Понятно, что крон хочется заюзать для веб программирования, но непосрественно к нему вопрос не относится.
задач по расписанию .. -?
1 3 * * * /home/user/mail
так тоже не работает.
Может быть запрет на считывание задачи из файла
Потому что строка
crontab /home/user/cron
полюбому правильна
/home/user/mail - что там находится? РНР скрипт? Перл скрипт? Бинарник?
У файла точно просто имя mail без расширения?
задач по расписанию .. -?
Так и не относится. Это всего лишь системная утилита для выполнения задач по рассписанию. Непосредственно к вебпрограммированию она не относится. А если относится, то на столько же как к программированию на C++, администрированию ОС, или установке новых порнокартинок на рабочий стол по утрам для юзера далекого от программирования. =))
Тоесть такие вопросы на мой взгляд стоит задавать в соответствующем разделе типа ОС или на хуйдой конец Программирование под Linux/Unix. =)
1 3 * * * /home/user/mail
так тоже не работает.
Вобщем странное поведение. Может действительно нет прав на изменение crontab. Но тогда не должен молчать. Тоесть при вызове crontab somefile, он чтонибудь говорит? Жалуется на отсутствие файла, недостаток прав и т.п?
/home/user/mail - что там находится? РНР скрипт? Перл скрипт? Бинарник?
У файла точно просто имя mail без расширения?
На самом деле это без разницы. Он же не выполняет команды из файла при добовлении. Тоесть там может быть понаписанно что угодно.
На самом деле разница есть и весьма существенная. Для скриптов должен быть указан путь к интерпретатору, без чего в подавляющем числе случаем работать ничего не будет. Это раз.
Во-вторых, у файла должны быть права на запуск (наилучший вариант конечно права 777, но можно обойтись и менее "windows-way" правами).
В третьих наш друг нам не сказал где именно он все эти заклинания прописывает (просто на памяти был случай когда один юзер прописывал все это в файле crontab, который тупо создал у себя в директории)
Во-вторых, у файла должны быть права на запуск (наилучший вариант конечно права 777, но можно обойтись и менее "windows-way" правами).
=))))))))))))))
Мы говорим о разных вещах. Применительно к проблемме НЕТ никакой разницы. =)
У автора не добавляются записи в кронтаб из файла (он даже привел пример считывания из файла). Автор проверил, что не добавляются с помощью crontab -l.
А при загрузке из файла данных в кронтаб абсолютно не важно корректная там комманда или нет. Он ее должен или загразить или не загрузить, что сейчас и происходит. А уж если она была некорректна или ей прав не хватило - эта ошибка уже в время исполнения по рассписанию вылезет. Но такая проблемма озвученна не была. )
В третьих наш друг нам не сказал где именно он все эти заклинания прописывает (просто на памяти был случай когда один юзер прописывал все это в файле crontab, который тупо создал у себя в директории)
да все он написал. В первом же сообщение. =))
Файл, /home/user/cron
содержимое файла привел.
Пример загрузки и проверки привел.
Вот только вывод операции
crontab /home/user/cron
не привел, а хотелось бы.
лежит файл у меня в директории не в www
тоесть не в public_html (ну поняли ))
права 777, поставил мало ли что, может открывать не хочет...
при запуске
print system(crontab /home/user/cron );
выдаёт "нечего" false
тоесть нечё не печатает
разрешение юзать system() есть вроде
и ещё к спору, тут не имеет значение какой файл будет запускаться кроном, даже если он не сушествует.
К записи задачи из файла не имеет никакого отношения.
Думаю в тех. поддержку чтоль стукнуть.
Или вот идея есть выполнить команду через cPanel
на выполнения php файла, который потом сам будет разбираться что запускать
_)
при запуске
print system(crontab /home/user/cron );
Так ты его руками не запускал чтоли?