環境CentOS7.4
MySQL8.0.12
#備份地址 backupdir=/data/bak #備份文件后綴時間 time=_` date +%Y_%m_%d_%H_%M_%S ` #需要備份的數據庫名稱 db_name=test #mysqldump命令使用絕對路徑 /usr/local/mysql/bin/mysqldump $db_name | gzip > $backupdir/$db_name$time.sql.gz
# 刪除7天之前的備份文件
find $backupdir -name $db_name"*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
同時修改MySQL的配置文件,my.cnf
[mysqldump] # 備份數據庫使用 user=數據庫賬號 有備份所要備份數據的權限 password=數據庫密碼
如果 直接 mysqldump -uroot -p $db_name > t.sql這樣提示
mysqldump: [Warning] Using a password on the command line interface can be insecure.
這是MySQL5.6之后出現,為了安全起見
因此把數據庫賬號密碼放在配置文件中
執行定時任務
crontab -e
# 添加
03 03 * * * /usr/bin/sh /home/test_bak.sh