查看系统时间
date
编辑自动执行任务
crontab -e
编辑内容如下
15 18 * * * /home/mysqlbackup.sh
15是分钟 18是小时
/var/www/html/mysqlbackup.sh 脚本路径
附:MYSQL自动备份脚本 每次备份自动删除10天之前的数据
#!/bin/sh
filename=`date +%Y%m%d`
myPath=”/home/mysqlbackup/$filename/”
if [ ! -d "$myPath" ]; then
mkdir “$myPath”
fi
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
for dbname in $DBLIST
do
mysqldump -u root -p $dbname | gzip > $myPath$dbname.gz
done
# rm old file before ten days
tendate=`date -d “-10 day” +%Y%m%d`
filelist=`ls -p /var/www/html/mysqlbackup | grep / | tr -d /`
for fnames in $filelist
do
if [ "$fnames" -lt "$tendate" ]; then
rm -rf /var/www/html/mysqlbackup/$fnames
fi
done
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/mysqldata
#mkdir /data/back/mysql
2、创建/usr/sbin/bakmysql文件
#vi /usr/sbin/backmysql
输入
注意:`符号是TAB键上面的符号,不是ENTER左边的
还有date后要有一个空格。
#!/bin/bash
rq=` date %Y%m%d `
tar zcvf /data/back/mysql/mysql$rq.tar.gz /data/mysql/mysql
或者写成
#!/bin/bash
rq=` date %Y%m%d `
mysqldump –all-databases -u root -p密码 > /mysqldata/mysql$rq.sql
/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同
/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。
3、修改文件属性,使其可执行
# chmod x /usr/sbin/backmysql
4、修改/etc/crontab
#vi /etc/crontab
或者#crontab -e
在下面添加
01 3 * * * root /usr/sbin/bakmysql
表示每天3点钟执行备份
20 * * * * root /usr/sbin/bakmysql
每小时第20分钟备份一次
5、重新启动crond
# /etc/rc.d/init.d/crond restart
完成。
这样每天你在/mysqldata可以看到这样的文件
mysql20080929.tar.gz
直接下载即可。