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)    收藏  举报

导航