Как приблизительно с 99,9999999% *отклоняют файлы конфигурации, нет.
удалите удар, просто имейте следующее, и он должен работать:
0 8 * * * /home/lampadmin/cron/my_db.sh
также проверьте, что my_db.sh является исполняемым файлом.
chmod a+x /home/lampadmin/cron/my_db.sh
У меня есть плохое чувство о создании исполняемого файла файла для всех. Я попробовал бы этого, чтобы быть близко к Вашей первой идее.
0 8 * * * /bin/bash /home/lampadmin/cron/my_db.sh
Это всегда - хорошая идея командам выполнения с ее полным путем. Вы никогда не знаете то, что Вы получите иначе. Поэтому необходимо также предоставить полный путь my_db.sql
в Вашем файле my_db.sh
.
Но помимо этого, у меня есть еще худшее чувство об установке пароля через командную строку. Каждый пользователь видел пароль root при помощи ps
в то время как Ваш сценарий работает.
Я предлагаю установить пароль через .my.cnf
файл как это
[mysql]
user=root
password=rootpassword
в корневом каталоге соответствующего пользователя. Если этот подход является слишком общим для Ваших требований, Вы могли бы поместить это в дополнительный файл /home/lampadmin/cron/my.cnf
и используйте это настройки с
/usr/bin/mysql --defaults-extra-file=/home/lampadin/cron/my.cnf -h localhost mydb < /pathto/my_db.sql
В любом случае только у пользователя должен быть доступ к Вашему my.cnf
для защиты пароля. Необходимо использовать
chmod go-rwx my.cnf
достигнуть этого.