Cron не запускает скрипты

Исправлено.

В случае, если кто-то задается вопросом.

Дисковод отображается как / dev / sdb

Запустите эти команды

sudo mount /dev/sdb1 /mnt
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt/$i;  done
sudo chroot /mnt
grub-install /dev/sdb
update-grub

Затем отредактируйте / загрузите / grub / grub.cfg Изменены все строки, которые говорят (hd1,1) - (hd0,1)

Затем запустите ...

exit
for i in /dev/pts /dev /proc /sys; do sudo umount /mnt/$i ; done

Далее.

Элемент списка Полностью отключает сервер. Вытяните шнуры питания. Подождите 10 секунд. Вставьте вилку обратно. Вставьте Thumb drive и включите питание. Linux теперь полностью загружается из флэш-накопителя.

Кажется, что были две проблемы. Они должны были иметь неправильное устройство, на которое ссылается grub.cfg (т. Е. Hd1 должен быть hd0).

Во-вторых, ошибка в биоре сервера. Он продолжал ссылаться на uuid для файловой системы на другом флэш-накопителе, с которым я бы раньше играл. Теплая перезагрузка, казалось, удерживала там что-нибудь. Холодный ботинок зафиксировал его.

0
задан 9 May 2012 в 22:07

2 ответа

Знаете ли вы, что сообщения об ошибках cron / STDERR попадают в системную почту? Если вы не настроили его, вы можете быстро проверить /var/mail/your_username. Он называется Unix Movemail в Thunderbird, но я считаю, что есть и другие имена для того же механизма. Используемая оболочка по умолчанию - sh не bash. Знаете ли вы, что среда для задания cron полностью отличается от вашей интерактивной оболочки? Чтобы проверить это, я создал задание cron:

* * * * * /tmp/testscript.sh

Содержимое /tmp/testscript.sh:

#!/bin/bash
set

Я получил электронное письмо с (обратите внимание на то, что PATH очень отличается, сравните его с set из командной строки:

BASH=/bin/bash
BASHOPTS=cmdhist:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=([0]="0")
BASH_SOURCE=([0]="/tmp/testscript.sh")
BASH_VERSINFO=([0]="4" [1]="2" [2]="24" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='4.2.24(1)-release'
DIRSTACK=()
EUID=1000
GROUPS=()
HOME=/home/my_username
HOSTNAME=diablo
HOSTTYPE=x86_64
IFS=$' \t\n'
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LOGNAME=jhendrix
MACHTYPE=x86_64-pc-linux-gnu
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/bin:/bin
PPID=623
PS4='+ '
PWD=/home/my_username
SHELL=/bin/sh
SHELLOPTS=braceexpand:hashall:interactive-comments
SHLVL=1
TERM=dumb
UID=1000
_=/bin/bash
5
ответ дан 25 May 2018 в 11:38
  • 1
    Не совсем уверен, какая часть исправлена, но похоже, что добавление bash -c " ... " вокруг моей команды заставляло ее работать. Я также узнал, как работает почтовая система, которая помогла мне выяснить, какие из моих скриптов cron терпят неудачу. Спасибо за быстрый ответ =) – chrisjleaf 10 May 2012 в 00:07
  • Знаете ли вы, что сообщения об ошибках cron / STDERR попадают в системную почту? Если вы не настроили его, вы можете быстро проверить /var/mail/your_username. Это называется Unix Movemail в Thunderbird, но я считаю, что есть и другие имена для того же механизма.
  • Используемая оболочка по умолчанию - sh not bash.
  • Знаете ли вы что среда для задания cron полностью отличается от вашей интерактивной оболочки? Чтобы проверить это, я создал задание cron:

* * * * * /tmp/testscript.sh

Содержимое /tmp/testscript.sh:

#!/bin/bash
set

Получено электронное письмо со следующим контентом (обратите внимание на то, что PATH очень отличается, сравните его с set из командной строки:

BASH=/bin/bash
BASHOPTS=cmdhist:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=([0]="0")
BASH_SOURCE=([0]="/tmp/testscript.sh")
BASH_VERSINFO=([0]="4" [1]="2" [2]="24" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='4.2.24(1)-release'
DIRSTACK=()
EUID=1000
GROUPS=()
HOME=/home/my_username
HOSTNAME=diablo
HOSTTYPE=x86_64
IFS=$' \t\n'
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LOGNAME=jhendrix
MACHTYPE=x86_64-pc-linux-gnu
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/bin:/bin
PPID=623
PS4='+ '
PWD=/home/my_username
SHELL=/bin/sh
SHELLOPTS=braceexpand:hashall:interactive-comments
SHLVL=1
TERM=dumb
UID=1000
_=/bin/bash
5
ответ дан 2 August 2018 в 01:07

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

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