Создайте crontab для MySQLdump

Я пытаюсь создать crontab, чтобы сделать резервное копирование на мою базу данных в MySQL, mysqldump команда хорошо работает без ошибок как единственная команда или запускающий скрипт удара, но когда я добавил сценарий удара к crontab файлу, это не выполнилось, ниже мой код:

#!/bin/bash

mysqldump --column-statistics=0 -h xx.xx.xx.xxx -u wissam -p'xxxxxx' 
--all-databases | gzip > ~/Desktop/DBs/Backup"$(date +"%Y_%m_%d_%I_%M_%p")file.sql.gz" 

команда crontab:

09 9    * * *   root    sh /home/ahmad/Desktop/DBs/mysqlcron.sh 2>&1>> /home/ahmad/Desktop/DBs/MySQLdump.log

который был добавлен к /etc/crontab, после этого я пытался перезапустить сервис, но не работал на меня, я также попробовал эти решения 1, 2 и 3 и все еще не сделал работы.

Какая-либо справка?

1
задан 14 April 2020 в 09:23

2 ответа

Crontab нужны полные пути, таким образом, помимо рекомендаций Rinzwind, используйте также

09 9    * * *   root    /bin/bash /home/ahmad/Desktop/DBs/mysqlcron.sh 2>&1>> /home/ahmad/Desktop/DBs/MySQLdump.log

или

09 9    * * *   root    /home/ahmad/Desktop/DBs/mysqlcron.sh 2>&1>> /home/ahmad/Desktop/DBs/MySQLdump.log
1
ответ дан 25 April 2020 в 10:48

Используйте полные пути.

mysqldump

и

~/

нужен каталог. "~" никогда не собирается расширяться до Вашего пользователя.

Помимо этого:

-h xx.xx.xx.xxx -u wissam -p'xxxxxx' 

очень плохо, поскольку это повторит хост и пароль к списку процессов. Использовать...

--defaults-extra-file=.mysql

и помещенный, по крайней мере, пароль в тот файл.

0
ответ дан 25 April 2020 в 10:48

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

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