Ошибка формата Cron.daily Exec

Чтобы ответить на ваш последующий вопрос («Есть ли простой способ сообщить затвору, я хочу, чтобы южная тень для всех скриншотов?»), к сожалению нет. Существует открытый запрос, позволяющий автоматически запускать плагины.

2
задан 25 October 2017 в 17:54

6 ответов

Это может показаться маленькой вещью, но убедитесь, что символы #! являются первыми двумя символами скрипта (без предшествующих пробелов). Для иллюстрации:

# cat /etc/cron.hourly/shebang-test
  #!/bin/bash
  echo "Hello from $0" >> /tmp/cron.out
#
# run-parts --report /etc/cron.hourly
/etc/cron.hourly/shebang-test:
run-parts: failed to exec /etc/cron.hourly/shebang-test: Exec format error
run-parts: /etc/cron.hourly/shebang-test exited with return code 1
#

(не работает); но после удаления ведущего пробела

# sed -i 's/^ *//' /etc/cron.hourly/shebang-test
#
# cat /etc/cron.hourly/shebang-test
#!/bin/bash
echo "Hello from $0" >> /tmp/cron.out

успешно выполняется

# run-parts --report /etc/cron.hourly
# cat /tmp/cron.out
Hello from /etc/cron.hourly/shebang-test
#
5
ответ дан 22 May 2018 в 17:09
  • 1
    хорошо, это может быть проблемой, увидим, если я получу ошибку завтра, когда она попытается запустить .. – Joanna Mikalai 25 October 2017 в 21:38
  • 2
    это, похоже, решило проблему .. – Joanna Mikalai 26 October 2017 в 14:59

Это может показаться маленькой вещью, но убедитесь, что символы #! являются первыми двумя символами скрипта (без предшествующих пробелов). Для иллюстрации:

# cat /etc/cron.hourly/shebang-test #!/bin/bash echo "Hello from $0" >> /tmp/cron.out # # run-parts --report /etc/cron.hourly /etc/cron.hourly/shebang-test: run-parts: failed to exec /etc/cron.hourly/shebang-test: Exec format error run-parts: /etc/cron.hourly/shebang-test exited with return code 1 #

(не работает); но после удаления ведущего пробела

# sed -i 's/^ *//' /etc/cron.hourly/shebang-test # # cat /etc/cron.hourly/shebang-test #!/bin/bash echo "Hello from $0" >> /tmp/cron.out

успешно выполняется

# run-parts --report /etc/cron.hourly # cat /tmp/cron.out Hello from /etc/cron.hourly/shebang-test #
5
ответ дан 18 July 2018 в 04:34

Это может показаться маленькой вещью, но убедитесь, что символы #! являются первыми двумя символами скрипта (без предшествующих пробелов). Для иллюстрации:

# cat /etc/cron.hourly/shebang-test #!/bin/bash echo "Hello from $0" >> /tmp/cron.out # # run-parts --report /etc/cron.hourly /etc/cron.hourly/shebang-test: run-parts: failed to exec /etc/cron.hourly/shebang-test: Exec format error run-parts: /etc/cron.hourly/shebang-test exited with return code 1 #

(не работает); но после удаления ведущего пробела

# sed -i 's/^ *//' /etc/cron.hourly/shebang-test # # cat /etc/cron.hourly/shebang-test #!/bin/bash echo "Hello from $0" >> /tmp/cron.out

успешно выполняется

# run-parts --report /etc/cron.hourly # cat /tmp/cron.out Hello from /etc/cron.hourly/shebang-test #
5
ответ дан 24 July 2018 в 18:06

Выполняет ли cron его как root? Убедитесь, что он делает.

Сразу после формата для времени в вашем crontab вы можете добавить пользователя.

Например, yourscript будет запускаться с правами администратора в 6 утра каждый день если вы добавите это в crontab:

0 6 * * * root /pathtoscript/yourscript

0
ответ дан 22 May 2018 в 17:09
  • 1
    как я могу это сделать, пожалуйста? Кажется, проблема. – Joanna Mikalai 25 October 2017 в 17:08
  • 2
    Это внутри папки cron.daily - не crontab ... Пожалуйста, см. ОБНОВЛЕНИЕ 2 для возможной причины проблемы. – Joanna Mikalai 25 October 2017 в 17:18
  • 3
    Cron.daily также управляется только crontab. В этом случае это /etc/crontab – Ziazis 26 October 2017 в 14:41

Выполняет ли cron его как root? Убедитесь, что он делает.

Сразу после формата для времени в вашем crontab вы можете добавить пользователя.

Например, yourscript будет запускаться с правами администратора в 6 утра каждый день если вы добавите это в crontab:

0 6 * * * root /pathtoscript/yourscript

0
ответ дан 18 July 2018 в 04:34

Выполняет ли cron его как root? Убедитесь, что он делает.

Сразу после формата для времени в вашем crontab вы можете добавить пользователя.

Например, yourscript будет запускаться с правами администратора в 6 утра каждый день если вы добавите это в crontab:

0 6 * * * root /pathtoscript/yourscript

0
ответ дан 24 July 2018 в 18:06
  • 1
    как я могу это сделать, пожалуйста? Кажется, проблема. – Joanna Mikalai 25 October 2017 в 17:08
  • 2
    Это внутри папки cron.daily - не crontab ... Пожалуйста, см. ОБНОВЛЕНИЕ 2 для возможной причины проблемы. – Joanna Mikalai 25 October 2017 в 17:18
  • 3
    Хрон.ежедневно также работать только в кронтаб. В этом случае это /etc/crontab – Ziazis 26 October 2017 в 14:41

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

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