Если вы добавили это в корневой каталог, вам не нужно запускать команды rsync с sudo
.
Вещи, которые запускаются в crontab, вероятно, не будут иметь одинаковые переменные окружения. Вы можете добавить абсолютный путь к rsync, если не уверены, например, /usr/bin/rsync
. Также проверьте другие переменные окружения, например, запустив set
.
Когда вы запускаете его вручную, вы уже находитесь в определенной оболочке, которая, вероятно, может его запустить. Но когда cron запускает его, он не знает, какой интерпретатор использовать. Всегда начинайте свои скрипты с #!/usr/bin/bash
(или с вашей любимой оболочки). И / или вызовите задание cron, указав, какую оболочку использовать, например:
*/1 * * * * /bin/bash /home/john/rsync.sh
Надеюсь, это поможет. ;)