Linux下实现定时备份数据库
技术点: 1.shell 通过SHELL来实现效果 2.ftp 通过FTP来上传文件 3.crontab 通过crontab命令来设置备份的时间间隔
1 #!/bin/sh 2 3 #获取备份的日期 4 bak_date=`date '+%Y%m%d'` 5 root_dir="/sqlBaks" 6 bak_dir="${root_dir}/${bak_date}" 7 8 if [ ! -d ${root_dir} ];then 9 mkdir ${root_dir} 10 fi 11 12 if [ ! -d ${bak_dir} ];then 13 mkdir ${bak_dir} 14 fi 15 16 file="${bak_dir}/db_${bak_date}" 17 mysqldump -u root -p123 db> ${file}.sql 18 zip ${file}.zip ${file}.sql 19 20 rm ${bak_dir}/*.sql 21 22 #将备份的数据上传到FTP服务器 23 ftp -v -n 127.0.0.1 <<EOF 24 user name password 25 binary 26 hash 27 mkdir ${bak_date} 28 cd ${bak_date} 29 lcd ${bak_dir} 30 prompt 31 mput * 32 bye 33 EOF 34 35 echo "${bak_date} bak done">>${root_dir}/log.txt
上面的SHELL实现后可以通过crontab设置为定时执行:
crontab * 2 * * * /shell.sh
这样在每天凌晨2点会对数据库进行一次备份并上传的操作
查看crontab:
crontab -l
编辑crontab:
crontab -e
清除crontab:
crontab -r
posted on 2014-03-25 20:42 jinglikeblue 阅读(364) 评论(0) 收藏 举报