SQL_CMD="/www/server/mysql/bin/mysqldump" SQL_HOST="IP" SQL_USR="root" SQL_PWD="密碼" SQL_DB="數據庫名稱" SQL_DIR="/www/backup/database/`date +%y%m%d`" #判斷是否為root用戶 if [ $UID -ne 0 ];then echo "only use root to exec." exit fi #判斷該路徑是否存在,不存在就創建一個 if [ ! -d $SQL_DIR ];then mkdir -p $SQL_DIR fi #備份數據庫 $SQL_CMD -h$SQL_HOST -u$SQL_USR -p$SQL_PWD $SQL_DB >$SQL_DIR/$SQL_DB.sql #判斷是否備份成功,成功打印出來路徑 if [ $? -eq 0 ];then echo "Backup mysql already successful." echo "Backup path:$SQL_DIR" else echo "Backup mysql failed." fi #刪除30天以前的備份文件 cd $SQL_DIR/../ ; find . -mtime +30 -exec rm -rf {} \; echo "Done" #把腳本加到crontab任務計划里 grep "mysql" /var/spool/cron/root >> /dev/null if [ $? -ne 0 ];then echo "0 0 * * * /bin/bash /root/shell/mysql.sh > /tmp/mysql.log 2>&1" >>/var/spool/cron/root /etc/init.d/crond restart fi