利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/mysqldata
#mkdir /var/www/mysqldata/
2、创建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql
/usr/bin/mysqldump production -u root -p密码 | gzip -c | cat > /var/www/mysqldata/production$(date +\%Y-\%m-\%d-\%H.\%M.\%S).sql.gz >/dev/null 2>&1
注意事项: 1) 备份数据库mysqldump必须要完整路径!!!!
2) date后面的%前必须加\,因为在crontab中%代表new line 所以最好的方式是在crontab里运行一个脚本,然后在脚本里加上Path
3、修改文件属性,使其可执行
# chmod +x /usr/sbin/bakmysql (所有用户可执行)
4、修改/etc/crontab
#vi /etc/crontab (root)
crontab -e
在下面添加
01 3 * * * root /usr/sbin/bakmysql >> /dev/null 2>&1 (>> /dev/null 2>&1 用于防止log过多)
表示每天3点钟执行备份
5、重新启动corned
# /etc/rc.d/init.d/crond restart
完成。
这样每天你在/mysqldata可以看到这样的文件
mysql20040619.tar.gz
你直接下载就可以了。
相关命令
重启
sudo /etc/rc.d/init.d/crond restart
cat /usr/sbin/bakmysql
远程复制到桌面
scp g_dai@ip:/var/www/mysqldata/sqldata2013-01-29-15.06.22.sql.gz ~/Desktop/
从桌面import到mysql
mysql -u root -p
show databases;
source ~/Desktop/sqldata2013-01-29-15.06.22.sql