Пример простого bash скрипта, позволяющего автоматизировать создание резервной копии всех баз MySQL.
Bash скрипт MySQL BackUp
Скрипт подключается к серверу MySQL, получает список всех доступных баз, после чего делает резервную копию баз данных, с помощью mysqldump, упаковывая каждый дамп в отдельный архив.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #!/bin/bash NOW=$(date +"%d-%m-%Y") # Location to store backup BAKUP="/data/.mysql-database" # Настройки сервера MySQL MUSER="root" #### имя пользователя mysql ### MPASS="" #### пароль mysql ### MHOST="localhost" #### имя хоста mysql ### # Full path to common utilities MYSQL="/usr/bin/mysql" MYSQLDUMP="/usr/bin/mysqldump" GZIP="/bin/gzip" if [ ! -d "$BAKUP" ] then mkdir -p "$BAKUP" fi # Получить список всех баз данных mysql DBList="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')" echo -n "Start backup..." for db in $DBList do echo -n "Dump... $db" FILE="$BAKUP/mysql-$db.$NOW-$(date +"%T").gz" $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE echo -n "." done echo -n "...Done" |
Установка скрипта в крон
Добавляем права на исполнение скрипта
1 | chmod +x /path/name.sh |
Открываем крон на редактирование
1 | crontab -e |
и добавляем строку
1 | 0 4 * * * /bin/bash -c "/path/name.sh" |
Так же можно автоматически установить задачу в крон Управление cron из консоли Linux