crontab -e
0 11 * * * /root/mysql_backup.sh #每天11点执行
格式:分 小时 天 月 星期几 脚本文件
#!/bin/sh
DBUser=root
DBPass=test
DBHost=`hostname -s`
# make sure you already created the backup directory
BackupPath=/var/bak/mysql
# the path of mysqld
DBbinPath=/usr/opt/local/mysql-5.1.47/bin/mysqldump
# error record log file
ErrorLog=${BackupPath}/error.txt
if ${DBbinPath} -u${DBUser} -p${DBPass} –opt –default-character-set=utf8 –extended-insert=false –triggers -R –hex-blob –all-databases –flush-logs –delete-master
-logs –delete-master-logs > ${BackupPath}"/"${DBHost}"-"`date "+%Y-%m-%d"`".sql" ;
then
find ${BackupPath}"/" -mtime +6 -exec rm {} \;
else
echo "——————-" >> ${ErrorLog}
echo `date "+%Y-%m-%d"` >> ${ErrorLog}
echo "——————-\n" >> ${ErrorLog}
exit
fi