1. 先在服务器下建文件夹以下3个文件夹:
mkdir /bak
mkdir /bak/bakmysql
mkdir /bak/bakmysqlold
在/bak文件夹下建一个shell脚本:touch /bak/mysqlbackup.sh
2. 编辑shell脚本:vi /bak/mysqlbackup.sh
#!/bin/sh
cd/bak/bakmysql
echo "youare in bakmysql directory"
mvbakmysql* /bak/bakmysqlold
echo"old databases are moved to bakmysqlold folder"
Now=$(date+"%d-%m-%Y")
File=bakmysql-$Now.sql
mysqldump-u root -p'root' tdca -h 127.0.0.1 > $File
echo"Your database backup successfully completed"
SevenDays=$(date-d -7day +"%d-%m-%Y")
if [ -f/bak/bakmysqlold/bakmysql-$SevenDays.sql ]
then
rm -rf/bak/bakmysqlold/bakmysql-$SevenDays.sql
echo"You have delete 7days ago bak file"
else
echo"7days ago bak file not exist"
fi
注:标红地方依次为用户名、密码、数据库名称
3. 设置每天自动执行shell脚本:
vi /etc/crontab 在最后加入这样一行:0 2 * * *root /bak/mysqlbackup.sh (注:每天凌晨两点备份一次)
重启crontab:/sbin/service crond restart 。
如果没有设置crontab为开机自启动可以如下设置其开机自启动:chkconfig –level 35 crond on