linux 定時(shí)備份mysql 數(shù)據(jù)庫(kù)
1.創(chuàng)建備份目錄
mkdir 777 /data
cd /data
mkdir 777 /dbback
cd /dbback
mkdir 777 /mysql
777賦予讀寫權(quán)限,在根目錄建立/data/dbback/mysql 目錄
2.寫shell腳本
touch backup.sh
vim backup.sh
使用vim命令來編輯腳本,而不是用windows編輯器,用windows寫腳本會(huì)識(shí)別不了換行符,在sql文件后綴名加一個(gè)?,詳見https://blog.csdn.net/weng_xianhu/article/details/79419675
3.腳本內(nèi)容
打開sh文件,按i鍵編輯腳本,esc鍵退出,:wq命令保存并關(guān)閉
echo mysql_backup_start #echo 打印
mysqldump -u用戶名 -p密碼 --default-character-set=utf8mb4 --databases 數(shù)據(jù)庫(kù)名 > /data/dbback/mysql/數(shù)據(jù)庫(kù)名$(date +"%Y%m%d%H%M%S").sql #獲取系統(tǒng)時(shí)間戳拼在文件后
4.編寫定時(shí)任務(wù)
crontab #查看是否安裝crond一般centos都帶了 如果沒有安裝:
yum -y install vixie-cron #詳見https://www.cnblogs.com/dxy1451713982/p/8081569.html
service crond status #查看crond狀態(tài)
service crond start #啟動(dòng)
service crond restart #重啟
service crond stop #停止
crontab -e #以vim命令的形式編輯定時(shí)任務(wù)腳本
5.定時(shí)任務(wù)結(jié)構(gòu)
minute hour day month week command
其中:
minute: 表示分鐘,可以是從0到59之間的任何整數(shù)。
hour:表示小時(shí),可以是從0到23之間的任何整數(shù)。
day:表示日期,可以是從1到31之間的任何整數(shù)。
month:表示月份,可以是從1到12之間的任何整數(shù)。
week:表示星期幾,可以是從0到7之間的任何整數(shù),這里的0或7代表星期日。
command:要執(zhí)行的命令,可以是系統(tǒng)命令,也可以是自己編寫的腳本文件。
例如:10 00 * * * /data/dbback/backup.sh 表示每天0點(diǎn)10分執(zhí)行sh腳本
6啟動(dòng)定時(shí)任務(wù)
編輯完crontab -e之后,重啟一下,記得要給sh文件賦予權(quán)限
chmod 777 /data/dbback/backup.sh