Crontab работает с ошибками

Постоянно жить с разделом casper-rw во внутреннем диске

Вы можете создать постоянный живой диск с mkusb в соответствии со следующими ссылками: help.ubuntu.com/community/mkusb help.ubuntu. com / community / mkusb / persistent Ubuntu будет искать файл с именем casper-rw или раздел с меткой casper-rw и использовать первый, который он найдет. Таким образом, вы можете удалить или перемаркировать раздел casper-rw на Pendrive USB (созданный mkusb). В Windows сократите раздел Windows (обычно C:) и оставьте свободное пространство на диске «нераспределенным». Загрузите Live-only с живого диска Ubuntu, «Попробуйте Ubuntu», запустите gparted и создайте раздел на нераспределенном диске, а в разделе создайте файловую систему ext4, установите метку casper-rw в этом разделе. Теперь, когда вы перезагружаете живой диск Ubuntu, вы должны иметь возможность загружать постоянный живьём, и он будет использовать раздел casper-rw во внутреннем диске. Должна быть установлена ​​возможность установки больших программ, и они сохраняются (автоматически) в разделе casper-rw на внутреннем диске.

Проверьте, что это действительно работает

Как вы можете видеть на скриншоте, раздел casper-rw во внутреннем диске /dev/sda равен 49 GiB, и он используется для настойчивости. Операционная система запускается с [16 ГБ] USB-накопителя /dev/sdb, где автоматически созданный раздел casper-rw перемаркируется на casper-off.

0
задан 15 February 2018 в 12:12

4 ответа

Файл scrapy не найден нигде в PATH (см. ниже). Чтобы найти, где он находится, используйте следующую команду в своей интерактивной оболочке:

which scrapy

Он покажет свой абсолютный путь, например. [F7]. Поместите абсолютный путь к crontab:

47 9,22 * * * cd Travel/lastsecond && /usr/local/bin/scrapy crawl tours

Что касается переменной PATH

Переменная PATH используется для поиска программ, когда вы не укажете точное путь в командной строке или в скрипте. Он определяется настройками профиля и crontabs. Он обычно выглядит так:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Пример происходит из моего /etc/crontab. Однако значение, которое вы предоставили в своем crontab, выглядит необычно ...

PATH=/root/

Не пытаетесь ли вы установить PATH здесь?!

Что касается shebang

Шебанг - первая строка многих сценариев. Он указывает, какой интерпретатор должен интерпретировать файл. Это не имеет смысла в crontab, и вы должны удалить его. Crontab - это файл данных для Cron, а не сценарий.

0
ответ дан 22 May 2018 в 13:08
  • 1
    Спасибо, теперь он работает, изменяя PATH на /usr/local/bin/. – Amirition 15 February 2018 в 12:17

Cron по умолчанию отправляет почту пользователю с выходом команд, которые он запускает. Но, как говорится, MAT (Mail Transfer Agent) не установлен, поэтому cron не может отправлять почту и отбрасывает вывод команды. Вы можете перенаправить вывод самостоятельно, в файл или в void (/ dev / null), изменив линию cron на:

47 9,22 * * * cd Travel/lastsecond && scrapy crawl tours > outfile 2>&1

или

47 9,22 * * * cd Travel/lastsecond && scrapy crawl tours > /dev/null 2>&1

Второе возможно, установить MTA (sendmail, postfix или аналогичный) - и настроить его для обработки локальной почты.

Или вы можете убедиться, что ваш скрипт не генерирует никакого вывода.

0
ответ дан 23 July 2018 в 21:35

Cron по умолчанию отправляет почту пользователю с выходом команд, которые он запускает. Но, как говорится, MAT (Mail Transfer Agent) не установлен, поэтому cron не может отправлять почту и отбрасывает вывод команды. Вы можете перенаправить вывод самостоятельно, в файл или в void (/ dev / null), изменив линию cron на:

47 9,22 * * * cd Travel/lastsecond && scrapy crawl tours > outfile 2>&1

или

47 9,22 * * * cd Travel/lastsecond && scrapy crawl tours > /dev/null 2>&1

Второе возможно, установить MTA (sendmail, postfix или аналогичный) - и настроить его для обработки локальной почты.

Или вы можете убедиться, что ваш скрипт не генерирует никакого вывода.

1
ответ дан 22 May 2018 в 13:08
  • 1
    Почему мне нужен вывод для скрипта? В нем хранятся ошибки? – Amirition 13 February 2018 в 13:39
  • 2
    Я не могу сказать, нужен ли вам вывод, но иногда сценарий создает неожиданный вывод или ошибки, которые приятно иметь для поиска ошибок. – Soren A 13 February 2018 в 13:50
  • 3
    Я обновил вопрос с выходным файлом. – Amirition 13 February 2018 в 18:19
  • 4
    Поэтому он не находит ваш скрипт ... каков полный путь к скрипированию? – Soren A 13 February 2018 в 19:07

Cron по умолчанию отправляет почту пользователю с выходом команд, которые он запускает. Но, как говорится, MAT (Mail Transfer Agent) не установлен, поэтому cron не может отправлять почту и отбрасывает вывод команды. Вы можете перенаправить вывод самостоятельно, в файл или в void (/ dev / null), изменив линию cron на:

47 9,22 * * * cd Travel/lastsecond && scrapy crawl tours > outfile 2>&1

или

47 9,22 * * * cd Travel/lastsecond && scrapy crawl tours > /dev/null 2>&1

Второе возможно, установить MTA (sendmail, postfix или аналогичный) - и настроить его для обработки локальной почты.

Или вы можете убедиться, что ваш скрипт не генерирует никакого вывода.

1
ответ дан 17 July 2018 в 20:55

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

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