Я пытался подружить cron и среду гном, увы не вышло совсем.
Мне необходимо что бы крон (прописанное задание в кронтабе) выполнялось в среде Gnome, как реализовать?
Задание такое, каждую пятницу необходимо запускать xdotool который работает в визуальном режиме (двигает курсор по экрану и выполняет свои задачи), так вот, скрипт xdotool (test.sh) который лежит в папке /home/admin/test/test.sh (права админа на все каталоги) необходимо что бы он запускался кроном каждую пятницу и выполнялся в визуальной среде.
Такое реализуемо?
Задания Crontab в Gnome
А какие действия выполняет test.sh? Может, xdotool возможно заменить обычным shell-скриптом?
Попробуйте запускать с записью в лог, может что информативное выскочит.
ПримерПоказать
# Запуск синхронизации времени каждые 4 часа
0 */4 * * * root /usr/sbin/ntpdate-debian >> /var/log/ntpdate-debian.log 2>&1
Кстати скрипт сам по себе работает?
Что-то тут не то...скрипт xdotool (test.sh) который лежит в папке /home/admin/test/test.sh (права админа на все каталоги)
Задание такое, каждую пятницу необходимо запускать xdotool который работает в визуальном режиме (двигает курсор по экрану и выполняет свои задачи),
почитайте документацию к gnome-terminal, там есть опция, которая запускает терминал (чёрное окошечко), а в нём выполняет команду.
посоветую не создавать себе сложностей. Тогда их не нужно будет героически преодолевать. В 95% случаев такое кончается переустановкой вашего маздая.права админа на все каталоги
он запускался кроном каждую пятницу
[console]$ EDITOR=mcedit crontab -e[/console]
и там добавьте строчку
30 5 * * fri /path/command
(пустая строка в конце обязательна!)
Это на полшестого.
PS: и да, не забудьте в скрипте экспортировать $DISPLAY
export DISPLAY=":0.0"и логгирование в какой-нибудь файл, что-бы узнать, почему не работает.
А какие действия выполняет test.sh? Может, xdotool возможно заменить обычным shell-скриптом?
Мне нужно получать с сайта файл, он генерируется по какому то алгоритму, через CURL мне не удалось побороть куки, видимо там совсем это запрещено, поэтому я решил курсором как человек логиниться и файл сохранять
Кстати скрипт сам по себе работает?
Да я много раз его проверял в гноме.
почитайте документацию к gnome-terminal, там есть опция, которая запускает терминал (чёрное окошечко), а в нём выполняет команду.
по моему оно автоматически запускается при выполнении чего то неожиданного через гном.
Я сейчас попробую как вы сказали.
попробуйте wget, там проще.через CURL мне не удалось побороть куки
вам нужно запустить не из gnome, а из crond. Т.е. что-бы демон запустил скрипт. Но не просто скрипт, а скрипт в среде gnome. Потому вам нужно сначала запустить терминал(именно вам, а не наутилусу, в который вы мышкой тыкаете), а уже в этом терминале(в окне) запустить команду. Тогда она выполнится "в гноме".по моему оно автоматически запускается при выполнении чего то неожиданного через гном.
У меня есть вопрос еще, почему прописываю echo $display, а он выдает пустую строку? (это в консоле)
То-есть он не видит дисплей?
А если открыть гном, открыть там эмулятор консоли и ввести echo $display, он скажет что это DISPLAY 0:0
Для логирования прописал в скрипт
echo "Начал выполняться скрипт" >> /usr/logs/ertest
тут скриптъ....
echo "Скрипт выполнен и остановлен">> /usr/logs/ertest
Верно?
Не работает, скрипт выполняется и логи пишутся если запустить из гнома, если прописываю в кроне
10 12 * * fri /home/odmin/megacron/test.shто нет эффекта, он не срабатывает
export DISPLAY=":0.0" прописан в скрипте
Вопрос с
У меня есть вопрос еще, почему прописываю echo $display, а он выдает пустую строку? (это в консоле)
То-есть он не видит дисплей?
А если открыть гном, открыть там эмулятор консоли и ввести echo $display, он скажет что это DISPLAY 0:0
остается открытым.
я не понимаю, что это означают эти слова.не срабатывает
кто "он"? Приложения запущенные в этой консоли очевидно не будут иметь доступ к Xorg, т.к. $DISPLAY не определено. Если $DISPLAY определить, то возможно будут иметь доступ. Это необходимое условие, но не достаточное.У меня есть вопрос еще, почему прописываю echo $display, а он выдает пустую строку? (это в консоле)
То-есть он не видит дисплей?
Помешать может то, что вы работаете от имени другого пользователя
Или то, что Xorg в данный момент не работает.
Или ещё Over9000 причин.
Телепаты в отпуске.
надо в самом crontab прописатьВерно?
>>/logpathpath/logname.log 2>&1после команды.
Помешать может то, что вы работаете от имени другого пользователя
Работаю от админа
Если это важно, то на команду startx консоль реагирует так:
odmin@webback:~$ startx
-bash: startx: команда не найдена
У вас есть новая почта в /var/mail/odmin
Прописал файл для лога в крон и в скрипт, запустил. Скрипт не выполнился, в лог не чего не записалось.
Вообще такое чувство, что крон совсем отказывается работать, хоть как. Написал скрипт простой, который сохраняет в файл запись "Все работает", поставил в крон, он не выполнился в заданное время, вообще не чего не произошло.
Вот что находится в crontab -e

а иксы запущены от odmina'а?Работаю от админа
ну значит вы Xorg не поставили, или как-то криво поставили. WM/DE это тоже касается, Xorg сам по себе не работает.Если это важно, то на команду startx консоль реагирует так:
может потому что сегодня понедельник, а не пятница?Вообще такое чувство, что крон совсем отказывается работать, хоть как. Написал скрипт простой, который сохраняет в файл запись "Все работает", поставил в крон, он не выполнился в заданное время, вообще не чего не произошло.
Задание такое, каждую пятницу
может потому что сегодня понедельник, а не пятница?
Что то я пропустил)))
Поставил на 0/10 * * * * /home/.........
И еще мне теперь требуется поставить xorg, верно?
А вот что выдал xorg
root@webback:~# Xorg -configure
Fatal server error:
Server is already active for display 0
If this server is no longer running, remove /tmp/.X0-lock
and start again.
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
нет.И еще мне теперь требуется поставить xorg, верно?
Xorg это графический сервер, без него Gnome не поставится.
Что в логе?
Что в логе?
Опять пустота..
Не работает
значит не запускается. Ищите ошибку.Опять пустота..
Не работает
Поставьте в кронтаб для проверки
* * * * * /path/command…(каждую минуту запуск).
значит не запускается. Ищите ошибку.[quote="medwedos"]Опять пустота..
Не работает
Поставьте в кронтаб для проверки
* * * * * /path/command…(каждую минуту запуск).[/quote]
Заработало, в кроне прописал * * * * * /home/odmin/proverka.sh >> тут логирование
Скрипт echo "Hello World"
И он выполняется, в логах есть записи Hello World
Так, кажется мне удалось его запустить.
Скрипт xdotool'a заработал в гноме, курсор ездит, логи пишутся.
Завтра возможно еще возникнут вопросы. Тему прошу не закрывать.