У меня есть сценарий (buphomebasis.sh
) это использует rsync для создания резервных копий из моего корневого каталога. Его содержание:
sudo rsync -avz /home /media/myname/mybackupdsk
Это работает очень хорошо, только путем вызова того сценария от командной строки. Теперь я сделал cronjob (backup.sh
); его содержание:
SHELL=/bin/bash
45 5 * * * buphomebasis.sh
Это должно сделать резервное копирование каждый день в 5:45. Оба сценария находятся в моем home/myname/cronjobs/
каталог, но выполнение backup.sh
результаты в следующем сообщении об ошибке:
cronjobs/backup.sh: regel 23: 45: opdracht niet gevonden
или на английском языке:
cronjobs/backup.sh: line 23: 45: command not found
Кто-либо может помочь мне с тем, что такое несправедливость/пропавшие без вести в этом cronjob?
Используйте полный путь. Крон не наследовал Ваш путь, таким образом, необходимо использовать полные пути для сценария, который правильно будет выполняться в Кроне.
Так, у Вас была бы запись крона, любят, следует:
45 5 * * * /home/myname/cronjobs/buphomebasis
Примечание: Замените все случаи $USER
с Вашим фактическим именем пользователя.
Необходимо использовать полный путь, или иначе задание Крона не сможет найти его. Необходимо поместить что-то как
SHELL=/bin/bash
45 5 * * * /home/$USER/buphomebasis.sh
в Вашем crontab для него для выполнения. Также необходимо удостовериться, что сценарий является исполняемым файлом, так убедиться иметь #!/bin/bash
в начале Вашего сценария. Затем сделайте это исполняемым файлом с chmod +x /home/$USER/buphomebasis.sh
.
Я рекомендую записать сценарий как:
#!/bin/bash
rsync -avz /home /media/myname/mybackupdsk >> /home/$USER/backup.log
таким образом, Вы видите, имеет ли rsync какие-либо ошибки. Кроме того, убедиться вставить его root
crontab, таким образом, это может работать без пароля, или иначе это перестанет работать. Можно отредактировать корень crontab с
sudo crontab -u root -e
Вы используете sudo crontab -e
или просто crontab -e
когда Вы вносите свои изменения? Каждый добавит его к crontab Вашего пользователя другому к корню.
Полный путь не причинил бы боль также