今天寫了一個mysql備份,主要用的是mysqldump工具。需求是每天3點備份某些資料庫,保留2天的備份。很簡單的需求,如下腳本
#!/bin/sh
dbs=$(echo `/usr/bin/mysql -uroot -ppasswd -s -e "show databases;" |egrep -v "performance_schema|information_schema|test|mysql"`)
bak_name=`hostname``date '+%Y%m%d%H%M'`
/usr/bin/mysqldump -uroot -ppasswd --single-transaction --databases $dbs > /data/backup/$bak_name.sql && gzip /data/backup/$bak_name.sql
/usr/bin/find /data/backup/ -type f -mtime +2 -exec rm -f {} \;