自動備份mysql并刪除7天前備份
可以使用腳本實現自動備份mysql和刪除過期備份的功能。 以下是一個使用bash腳本實現自動備份mysql和刪除7天前備份的例子: ``` #!/bin/bash # MySQL參數 USER="root" # 修改為你的MySQL用戶名 PWD="password" # 修改為你的MySQL密碼 HOST="localhost" # 修改為你的MySQL主機地址 DBNAME="dbname" # 修改為你要備份的數據庫名稱 # 備份參數 BACKUP_DIR="/opt/backup" # 備份文件存儲目錄 DATE=$(date +%Y%m%d%H%M%S) # 當前日期時間 # 備份MySQL數據庫 mysqldump -u $USER -h $HOST -p$PWD $DBNAME > $BACKUP_DIR/$DBNAME-$DATE.sql # 刪除7天前的備份文件 find $BACKUP_DIR -name "$DBNAME-*.sql" -type f -mtime +7 -exec rm {} \; ``` 腳本的思路是先用mysqldump命令備份mysql數據庫,然后使用find命令刪除7天前的備份文件。其中,腳本使用了以下參數: - USER:MySQL用戶名 - PWD:MySQL密碼 - HOST:MySQL主機地址 - DBNAME:要備份的數據庫名稱 - BACKUP_DIR:備份文件存儲目錄 - DATE:當前日期時間 腳本使用了mysqldump命令備份mysql數據庫,將備份文件保存到BACKUP_DIR目錄下,并按照日期時間命名備份文件。 腳本使用了find命令查找備份文件,并刪除7天前的備份文件。其中,find命令的參數解釋如下: - -name:文件名匹配模式 - -type f:只查找文件,不包含目錄 - -mtime +7:查找修改時間比7天前早的文件 - -exec rm {} \;:執行刪除操作 將腳本保存為backup.sh文件,并設置為可執行文件: ``` chmod +x backup.sh ``` 然后,可以使用cron定時任務來執行腳本自動備份mysql數據庫和刪除過期備份文件。例如,設置每天凌晨3點執行一次備份任務,可以使用以下cron表達式: ``` 0 3 * * * /path/to/backup.sh ``` 最后,測試一下腳本是否能夠正常備份mysql數據庫和刪除過期備份文件。