百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>服务器> shell编程实战之网站文件及数据库文件的备份-linux运维
分享文章到:

shell编程实战之网站文件及数据库文件的备份-linux运维

发布时间:10/01 来源:未知 浏览: 关键词:
文件备份的重要性可想而知,按期备份是个好习惯,无论是网站文件还是日常生活的相片、视频等。否则比及数据遗失了,你就能体味数据寻不回归的那种失望了。 文件备份的重要性可想而知,按期备份是个好习惯,无论是网站文件还是日常生活的相片、视频等。否则比及数据遗失了,你就能体味数据寻不回归的那种失望了。笔者亲身阅历过几次,最重大的一次是个人博客7个多月的数据全部遗失,那真是种欲哭无泪的感觉。

今天和大家来讲下怎样在办事器端编写备份网站名目及数据库文件的足本。第一需要先增补几个见识:

  • tar下令,文件的紧缩打包

  • find下令,查寻文件

  • bzip2,文件紧缩

为了节俭空间,我们时常会对名目文件做紧缩并打包的操纵。bzip2下令可以对文件进行紧缩,但它不克不及对名目进行紧缩,对名目则可以运用tar下令紧缩打包。

由于数据库文件就是一个独自的sql文件,所以可以运用bzip2下令对其紧缩。

mysqldump -u会员名 -p密码 --all-databases | bzip2 > 备份名目/文件名

而网站文件则需要运用tar下令来进行紧缩。

tar -jcpf 备份名目/文件名  需备份的名目

虽然我们天天都会进行备份,但是我们只想保留比来七天的备份记载,7天前的备份数据主动删除。这里我们就需要运用find下令来寻出7天前的备份文件,然后将其删除。

find 备份名目 -mtime +7 -type f -exec rm -f {} \;

下面开端正式编写shell足本。第一,我们需要定义备份名目,要是备份名目不存在,则需要先新建名目。

WWW_DIR=/home/wwwroot
BAK_DIR=/root/bak

if [ ! -d $BAK_DIR ];then
    mkdir $BAK_DIR
fi

接下来 ,就是进行网站名目以及数据库文件的备份了

tar -jcpf $BAK_DIR/www_$(date +%Y%m%d).tar.bz2 $WWW_DIR 2>/dev/null
mysqldump -uroot -p123456 --all-databases | bzip2 > $BAK_DIR/all_database_$(date +%Y%m%d).sql

最后,只有删除七天前的备份数据即可

find $BAK_DIR -type f -mtime +7 -exec rm -f {} \;

下面贴出完备代码:

#!/bin/bash
# 备份数据库文件及网站文件

WWW_DIR=/home/wwwroot
BAK_DIR=/root/bak

if [ ! -d $BAK_DIR ];then
    mkdir $BAK_DIR
fi

# 备份网站文件及数据库文件
tar -jcpf $BAK_DIR/www_$(date +%Y%m%d).tar.bz2 $WWW_DIR 2>/dev/null
mysqldump -uroot -pGuiyuan#520@1314 --all-databases | bzip2 > $BAK_DIR/all_database_$(date +%Y%m%d).sql 

# 删除7天前的备份数据
find $BAK_DIR -type f -mtime +7 -exec rm -f {} \;

最后,还是但愿大家能养成备份的习惯。除了办事器上的每日备份,别的还是倡议一个星期,从办事器上拷贝一份数据到当地磁盘,保障数据安若泰山。

以上就是shell编程实战之网站文件及数据库文件的备份的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有153人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板