Мой файл bash не выполняется cronjob, созданным с правами root. Настройка cronjob выглядит следующим образом
0 0 * * * mysql_backup.sh
нужно пометить с помощью команды bash 0 0 * * * bash mysql_backup.sh
? если я вручную выполняю свой сценарий bash sudo bash mysql_backup.sh
чем это работает.
Я создавал cronjob, используя sudo crontab u root -e
и файл bash находится в корне centos
Во-первых, вам нужно использовать полный путь, например:
0 0 * * * /path/to/mysql_backup.sh
Во-вторых, вам нужно убедиться, что у вашего скрипта есть разрешение на выполнение, или вы можете вызвать его, используя:
0 0 * * * /bin/bash /path/to/mysql_backup.sh
В-третьих, вам нужно убедиться, что вы выполняете задание cron с достаточными привилегиями.
также вы можете добавить следующую команду в первую строку вашего скрипта:
#!/bin/bash
(при условии, что bash находится в / bin / bash). Это заставит ваш скрипт запускаться с помощью bash даже при прямом вызове, а не в качестве параметра bash.
Вы можете добавить ведение журнала, а также проверить журнал crontab, чтобы узнать, есть ли какие-либо ошибки, которые могут привести вас к решению.