码迷,mamicode.com
首页 > 数据库 > 详细

利用shell脚本进行代码备份和数据库备份

时间:2017-10-26 17:44:03      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:上传   dump   mysql   文件夹   usr   root   附件   /usr   wro   

1、实际并不是进行代码备份,而是对上传的附件备份, 毕竟代码在我这边主要是通过svn管控的,不需要进行备份了,但是为了偷懒,还是将整个文件夹直接打包了。


name="your code file name" #你代码文件夹的名称
# the directory for story your backup file.you shall change this dir
backup_dir="/data/codebak/$name"  #备份路径,看个人喜好,自己命名
# date format for backup file (dd-mm-yyyy)
time="$(date +"%Y%m%d%H%M%S")" #毕竟要每天备份,所以我加时间戳辨识

cd /home/wwwroot/default  #打开代码所在的目录,这是我的,如果要用这个脚本,请修改
tar -zcf $backup_dir"/"$name"_"$time.tar.gz  sccl_demo   #打包备份

find /data/codebak/$name/ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;   #硬盘空间有限,只保留30天的数据,超过30天的,需要清理掉

 

2、对MySQL进行数据备份

db_user="root" #数据库用户名
db_passwd="root" #数据库密码
db_name="test"  #数据库名称
# the directory for story your backup file.you shall change this dir
backup_dir="/data/mysqlbak/$da_name"
# date format for backup file (dd-mm-yyyy)
time="$(date +"%Y%m%d%H%M%S")"

#在这边要注意一下,执行mysqldump的时候,一定要加上完整的路径,一般这种备份文件的脚本都是放在crontab中,定时执行的。而你如果直接使用mysqldump,不加上完整的路径的话,会出现crontab的定时任务不能自动执行,但是手动执行脚本一直能成功,这就涉及到crontab的环境变量问题了,有兴趣进一步了解的的话,传送门在此,http://blog.csdn.net/dancen/article/details/24355287
/usr/local/mysql/bin/mysqldump -u$db_user  -p$db_passwd $db_name  > "$backup_dir/$db_name"_"$time.sql"


find /data/mysqlbak/$db_name/ -mtime +180 -name "*.sql" -exec rm -rf {} \;  #保留几天自己定

利用shell脚本进行代码备份和数据库备份

标签:上传   dump   mysql   文件夹   usr   root   附件   /usr   wro   

原文地址:http://www.cnblogs.com/quepq/p/7737820.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!