Cron Job не выполняется

это может помочь:

  apt-get --purge remove (package)     
  apt-get upgrade (package name)
1
задан 16 June 2016 в 14:45

1 ответ

Сценарий bash должен начинаться с shebang, чтобы процесс запуска знал, что это скрипт, который должен запускаться в оболочке bash. Итак, первая строка вашего скрипта должна быть #!/bin/bash. Это хорошее соглашение, чтобы войти, так как скрипты bash должны быть написаны. Ваш скрипт работает, когда вы запускаете bash /home/backupscript.sh, потому что вы уже сообщаете ему, чтобы он запускал оболочку bash с частью bash этой команды. Вы могли бы обойти это, сделав свою линию crontab:

0 4 24-31 * 4 bash /home/backupscript.sh

Это неправильный способ сделать это, поскольку он пропускает разрешения для скрипта, хотя это сработает.

Скорее всего, у вас нет правильных разрешений на ваш скрипт, вам нужно установить бит выполнения. Это домен команды chmod, инструкции по его использованию можно найти здесь.

Если вы хотите, чтобы кто-либо из вашей системы смог выполнить эту команду, вы можете запустить: [!d4 ]

chmod +x /home/backupscript.sh

Хотя вы можете ограничить доступ только к своему пользователю, при условии, что ваш пользователь создал скрипт, который будет выглядеть следующим образом:

chmod u+x /home/backupscript.sh

Мой совет заключается в том, чтобы добавить shebang в начало вашего сценария и изменить разрешения, чтобы сделать его исполняемым.

1
ответ дан 23 May 2018 в 09:15

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

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