壳牌编程实战之网站文件及数据库文件如何备份

  介绍

这篇文章主要介绍壳编程实战之网站文件及数据库文件如何备份,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

文件备份的重要性不言而喻,定期备份是个好习惯,不管是网站文件还是日常生活的照片,视频等。不然等到数据丢失了,你就能体会数据找不回来的那种绝望了。笔者亲身经历过几次,最严重的一次是个人博客7个多月的数据全部丢失,那真是种欲哭无泪的感觉。

今天和大家来讲下如何在服务器端编写备份网站目录及数据库文件的脚本。首先需要先补充几个知识:

    <李>

    焦油命令,文件的压缩打包

    <李>

    找到命令,查找文件

    <李>

    bzip2,文件压缩

为了节省空间,我们经常会对目录文件做压缩并打包的操作.bzip2命令可以对文件进行压缩,但它不能对目录进行压缩,对目录则可以使用焦油命令压缩打包。

因为数据库文件就是一个单独的sql文件,所以可以使用bzip2命令对其压缩。

,mysqldump - u用户名- p密码——所有数据库| bzip2祝辞备份目录/文件名

而网站文件则需要使用焦油命令来进行压缩。

焦油-jcpf备份目录/文件名需备份的目录

虽然我们每天都会进行备份,但是我们只想保存最近七天的备份记录,7天前的备份数据自动删除。这里我们就需要使用找到命令来找出7天前的备份文件,然后将其删除。

找到备份目录-mtime + 7 - type f - rm - f {} \;

下面开始正式编写shell脚本。首先,我们需要定义备份目录,如果备份目录不存在,则需要先创建目录。

WWW_DIR=/home/wwwroot   BAK_DIR=/根/bak      如果[!- d $ BAK_DIR];然后   mkdir BAK_DIR美元   fi

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

焦油-jcpf BAK_DIR/www_美元(日期+ % Y % m % d) . tar。bz2 WWW_DIR 2美元获取在/dev/null   ,mysqldump -uroot -p123456——所有数据库| bzip2祝辞BAK_DIR/all_database_美元(日期+ % Y % m % d)。sql

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

找到美元BAK_DIR类型f -mtime + 7 - rm - f {} \;

下面贴出完整代码:

# !/bin/bash   #备份数据库文件及网站文件      WWW_DIR=/home/wwwroot   BAK_DIR=/根/bak      如果[!- d $ BAK_DIR];然后   mkdir BAK_DIR美元   fi      #备份网站文件及数据库文件   焦油-jcpf BAK_DIR/www_美元(日期+ % Y % m % d) . tar。bz2 WWW_DIR 2美元获取在/dev/null   ,mysqldump -uroot -pGuiyuan # 520 @1314——所有数据库| bzip2祝辞BAK_DIR/all_database_美元(日期+ % Y % m % d) . sql      #删除7天前的备份数据   发现美元BAK_DIR类型f -mtime + 7 - rm - f {} \;

最后,还是希望大家能养成备份的习惯。除了服务器上的每日备份,另外还是建议一个星期,从服务器上拷贝一份数据到本地磁盘,保证数据万无一失。

壳牌编程实战之网站文件及数据库文件如何备份