Как автоматически открывать URL в определенные времена каждый день

Я использую kubuntu 14.04. Я установил крон с помощью sudo склонный - получают крон установки, и затем я создал этот файл в НЕАКТИВНОМ, названном openurl.py.

#!/usr/bin/env python

import webbrowser

webbrowser.open('http://eample.com')

Я затем ввел chmod +x openurl.py в терминал для создания .py файла excecutionable. Если я ввожу./openurl.py к терминалу, работам сценария.

затем, с помощью средства запуска приложения начала я нажал параметры настройки системы> планировщик задач> новая задача> затем, я искал openurl.py файл и выбрал, когда я хотел, чтобы это работало.

Если я ввожу crontab -e в терминал это отображено:

#openurl
21 21 * * *     /home/craig/openurl.py


# File generated by KCron the Thursday 29 Jan 2015 21:20.

И затем я ожидаю, и ничего не происходит. Что я делаю неправильно?

1
задан 30 January 2015 в 00:42

2 ответа

Проблема была уже решена здесь.

Изменитесь croncrontab для запуска предпочтительного Python интерпретатор со сценарием соединяет каналом как аргумент:

21 21 * * * /usr/bin/python /home/craig/openurl.py

Помните, что стандартная символьная ссылка укажет на версию по умолчанию интерпретатора, который не может быть корректным, если Ваше программное обеспечение основано на 2. X синтаксисов Python.
cron демон может запустить интерпретатор с поднятыми правами, использовать ограниченный интерпретатор для автоматизированных критических по отношению к безопасности задач.

ОТРЕДАКТИРУЙТЕ для покрытия большей части проблем после установки cronjob:

Контролировать в режиме реального времени работы, делавшие cron и другие системные демоны, выполнитесь в терминале:

tail -f /var/log/syslog

или

tailf /var/log/syslog

(в некоторых системах путь файла журнала отличается, как /var/log/cron.log)

Для перенаправления ВЫВОДА задания крона вставьте перенаправление оболочки для STDOUT в cronjob файле, как:

21 21 * * * /usr/bin/python /home/craig/openurl.py >> /home/craig/test.log

В a Python напишите сценарий команды как print('TEST') добавит строковый ТЕСТ к test.log; любой простой подпроцесс будет также перенаправлен.
Просто проверьте файл, чтобы знать, работает ли сценарий как ожидалось.

Не стесняйтесь комментировать под здесь, если Вы имеете больше вопросов и не забываете нажимать левую Стрелку вверх и метку как Фаворит, если я имею какую-либо справку.

Хорошего дня.

3
ответ дан 7 December 2019 в 12:47

Я столкнулся с той же проблемой, что и вы. Ваша работа может завершиться ошибкой, поскольку для нее требуется сеанс X, так как вы пытаетесь открыть веб-браузер. Вы должны указать export DISPLAY=:0; после расписания в вашем cronjob, как в

21 21 * * * export DISPLAY=:0; /usr/bin/python /home/craig/openurl.py >> /home/craig/test.log

 python3 /home/fin/Labs/my-cheatcodes/src/dsktp_startup_script/dsktp_startup_script.py > capture_report.txt

Если это не работает, вы можете попробовать заменить :0 выводом выведите $DISPLAY в графическом терминале.

1
ответ дан 29 July 2020 в 22:40

Другие вопросы по тегам:

Похожие вопросы: