如果mysql不在環(huán)境變量中,請(qǐng)先將mysql放入環(huán)境變量
#將mysql添加進(jìn)環(huán)境變量中
export PATH=$PATH:/usr/local/mysql/bin/
#重新加載配置文件
source /etc/profile
?
新建一個(gè)腳本
touch backup_all_databases.sh
腳本內(nèi)容:
#!/bin/bash
# MySQL登錄信息
USER="root"
PASSWORD="123456"
# 備份目錄
BACKUP_DIR="/home/mysqlbak/$(date +%Y%m%d)"
# 創(chuàng)建備份目錄
mkdir -p "$BACKUP_DIR"
# 獲取所有數(shù)據(jù)庫(kù)名
DATABASES=$(mysql -u"$USER" -p"$PASSWORD" -Nse 'show databases')
# 遍歷所有數(shù)據(jù)庫(kù)進(jìn)行備份
for DB in $DATABASES; do
# 跳過(guò)系統(tǒng)數(shù)據(jù)庫(kù)
if [[ "$DB" == "information_schema" || "$DB" == "mysql" || "$DB" == "performance_schema" || "$DB" == "sys" ]]; then
continue
fi
# 生成備份文件名
BACKUP_FILE="$BACKUP_DIR/${DB}_$(date +%Y%m%d%H%M%S).sql"
# 執(zhí)行mysqldump命令進(jìn)行備份
mysqldump -u"$USER" -p"$PASSWORD" "$DB" > "$BACKUP_FILE"
# 檢查備份是否成功
if [ $? -eq 0 ]; then
echo "Database $DB backed up to $BACKUP_FILE"
else
echo "Error backing up database $DB"
fi
done
echo "All databases backed up to $BACKUP_DIR"
需要給這個(gè)腳本文件執(zhí)行權(quán)限:
chmod +x backup_all_databases.sh
需要給這個(gè)腳本文件執(zhí)行權(quán)限:
./backup_all_databases.sh
自動(dòng)執(zhí)行
vi /etc/crontab
#每天凌晨1點(diǎn)執(zhí)行
0 1 * * * bash /home/backup_all_databases.sh
查看crontab服務(wù)狀態(tài):
service crond status
手動(dòng)啟動(dòng)crontab服務(wù):
service crond start
查看crontab服務(wù)是否已設(shè)置為開(kāi)機(jī)啟動(dòng),執(zhí)行命令:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-858881.html
ntsysv
加入開(kāi)機(jī)自動(dòng)啟動(dòng):文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-858881.html
chkconfig –level 35 crond on
到了這里,關(guān)于使用腳本定時(shí)備份MySql數(shù)據(jù)庫(kù)文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!