Cron работает, но запланированная работа по открытию веб-страницы в хром не

Обновления START

Мой друг просто ответил на это. Мне нужно это сделать export DISPLAY=:0 && <my GUI dependent command here> Ожидание ответа на этот пост. Я пробовал /opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL & без &. Все еще не удается. Превышается непосредственно в командной строке. На моей машине нет файла /var/log/cron. Вспомогательный вопрос: как я могу его получить?

Обновления END

У меня есть Документ Google, который мне нужно обновлять с регулярными интервалами несколько раз в день. Содержимое, которое будет формировать конкретное обновление, не может быть предсказано или определено программно. Итак, лучшим решением для меня является то, что страница Google Doc открывается автоматически с фиксированными интервалами, а затем я вручную добавляю к ней данные.

Теперь проблема в том, что то, что работает непосредственно с командой линия не работает при использовании в crontab. Ниже я попробовал (используя интервал 2mins только для тестирования) -

*/2 * * * * date >> /tmp/crontest
*/2 * * * * /opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL &
Один мой друг просто ответил на это. Мне нужно это сделать export DISPLAY=:0 && <my GUI dependent command here> Ожидание ответа на этот пост. Если я просто попробую /opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL на оболочке, он работает как ожидалось Я пробовал /opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL & без & тоже. Все еще не удается. Прерывается непосредственно в командной строке.

Что я делаю неправильно? Как мне это исправить? Любой альтернативный способ достижения того, что мне нужно сделать?

Спасибо заранее.

1
задан 10 January 2013 в 17:03

2 ответа

cron предназначен для заданий командной строки и запускает команды с очень ограниченным набором переменных окружения - только HOME, LOGNAME, PATH и SHELL.

По крайней мере, chrome потребует установки DISPLAY. Он также может быть недоволен без других переменных (например, DBUS связанных). Запустите env в терминале, чтобы увидеть текущую среду.

4
ответ дан 25 May 2018 в 02:35
  • 1
    этот ответ обеспечил лучшее обучение. Благодарю. – Sumeet Pareek 10 January 2013 в 19:08

Окружающая среда, которую вы получаете для кроны, очень ограничена. Например, вы не получаете вариацию DISPLAY, которая требуется для открытия chrome.

Оберните свою команду в скрипте

#!/bin/sh
export DISPLAY=:0
/opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL

Не совсем уверен, если вам нужно больше переменных, чтобы получить их Работа. Я сделал аналогичный сценарий, который запустил konsole (терминал в KDE), который работал в cron.

3
ответ дан 25 May 2018 в 02:35
  • 1
    Не совсем так, но сценарий не нужен, один лайнер в кронтабе сделал это. – Sumeet Pareek 10 January 2013 в 19:08
  • 2
    Это работало лучше для меня, так как моя задача CRON начиналась с скрипта! Благодаря! – Dan Kozlowski 4 February 2017 в 23:16

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

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