黑基网 首页 服务器 Linux 查看内容

Linux服务器一键备份脚本解释

2017-5-13 00:49| 投稿: xiaotiger |来自: 互联网

摘要: 我写过好几个类似的教程,但这个可能是最完整的, 因为这个的脚本有注释, 同时有视频演示,所以这个教程相比以前那几个要详细一些. 其实服务器备份无非就是以下几个步骤, 在我们要迁移服务器或者日常备份的时候,这样的 ...

我写过好几个类似的教程,但这个可能是最完整的, 因为这个的脚本有注释, 同时有视频演示,所以这个教程相比以前那几个要详细一些. 其实服务器备份无非就是以下几个步骤, 在我们要迁移服务器或者日常备份的时候,这样的脚本都能精简自己的工作量. 服务器备份的步骤如下:

一: 备份原始数据(即网站的各种源码和附件数据)

二: 备份数据库数据(我这里是以单独一个数据库进行备份)

三: 压缩数据(将网站数据和数据库数据进行打包压缩)

四: 下载数据或备份到第三方平台

五: 删除打包压缩的备份数据以免泄露

所以脚本的运行流程也就是按照这个思路来进行的, 如果你的服务器配置好的话, 可以将脚本扔到crond里定时执行, 这个脚本需要安装rar包,因为我们需要用到rar来进行加密打包, Linux下默认的gizp和tar等打包压缩都是不能加密码的, 为什么要加密码,就是因为我们需要保护我们的数据安全.

详细教程: http://www.myzhenai.com.cn/post/2636.html

# !/bin/bash

ac=`date +%Y`

#定义一个变量获取时间部份的年

bc=`date +%m`

#定义一个变量获取时间部份的月

cc=`date +%d`

#定义一个变量获取时间部份的日

mkdir /var/www/back

#创建一个空目录

cd /var/www/

#切换目录

cp -ar /var/www/wordpress back/

#复制网站目录到备份目录

cp -ar /var/www/cms back/

#复制网站目录到备份目录

cp -ar /var/www/Discuz back/

#复制网站目录到备份目录

mysqlcheck -Ao -uroot -pNGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z

#清除mysql数据库缓存和垃圾信息,-u是指定用户名参数 -p是添加密码参数, NGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z 这是数据库用户root的密码

mysqldump -u root -pNGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z cms |gzip > /var/www/back/cms"_"$ac"_"$bc"_"$cc.sql.gz

#备份cms数据库到指定路径下, cms是数据库名, NGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z 是密码, gzip是压缩

mysqldump -u root -pNGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z Discuz |gzip > /var/www/back/Discuz"_"$ac"_"$bc"_"$cc.sql.gz

#备份cms数据库到指定路径下, cms是数据库名, NGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z 是密码, gzip是压缩

mysqldump -u root -pNGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z wordpress |gzip > /var/www/back/WordPress"-"$ac"-"$bc"-"$cc.sql.gz

#备份cms数据库到指定路径下, cms是数据库名, NGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z 是密码, gzip是压缩

cd back

#切换到back目录

tar -czvf cms"_"$ac"_"$bc"_"$cc.tar.gz cms/*

#压缩网站根目录下的cms目录, 这是cms网站的根目录

tar -czvf wordpress"_"$ac"_"$bc"_"$cc.tar.gz wordpress/*

#压缩网站根目录下的wordpress目录, 这是wordpress博客的根目录

tar -czvf Discuz"_"$ac"_"$bc"_"$cc.tar.gz Discuz/*

#压缩网站根目录下的Discuz目录, 这是Discuz论坛的根目录

cd ..

#返回上一级目录, 空格后边是两个半角符号的点

rm -rf back/cms

#因为这个目录已经被打包压缩了,所以现在删除备份目录里的这个文件夹和里边的文件,免得重复备份.

rm -rf back/Discuz

#因为这个目录已经被打包压缩了,所以现在删除备份目录里的这个文件夹和里边的文件,免得重复备份.

rm -rf back/wordpress

#因为这个目录已经被打包压缩了,所以现在删除备份目录里的这个文件夹和里边的文件,免得重复备份.

rar a toutiao"_"$ac"_"$bc"_"$cc.zip back/* -pYWNiND-MGNiYT-ZiYWI2-NjE1NG-JmNDhk-YzBkMj -z

#PassWord: YWNiND-MGNiYT-ZiYWI2-NjE1NG-JmNDhk-YzBkMj

#将back备份目录里的文件再次打包, 这次是用rar来压缩打包并添加密码. -p 是添加密码参数 -z 是添加注释参数,

#Reading comment from stdin 看到这行后请输入您的注释信息, 输入完成后按一次回车并再次按下键盘上的#Ctrl键和D键,就会进入压缩.

##以下这一段是一键压缩的脚本

#password=`YWNiND-MGNiYT-ZiYWI2-NjE1NG-JmNDhk-YzBkMj`

##将密码存放到password变量中

#echo '#!/usr/bin/expect' >> ServerBack.sh

##将文本写入文件

#echo 'spawn rar a server"_"$ac"_"$bc"_"$cc.zip back/* -p$password -z' >> ServerBack.sh

##将文本写入文件

#echo 'expect "Reading comment from stdin"' >> ServerBack.sh

##将文本写入文件

#echo 'send "Password:$password"' >> ServerBack.sh

##将文本写入文件

#echo 'send "\04\04"' >> ServerBack.sh

##将文本写入文件

###\04 =CTRL+D

#echo 'expect eof' >> ServerBack.sh

##将文本写入文件

#chmod 777 ServerBack.sh

##将文件权限更改变777,即可运行

#./ServerBack.sh

##运行一键压缩脚本

###

cp -ar toutiao"_"$ac"_"$bc"_"$cc.zip /var/www/cms/

#复制压缩后的zip文件到任意一个网站的目录下,这样可以方便下载到本地.

rm -rf back

#删除备份文件back目录

rm -rf toutiao"_"$ac"_"$bc"_"$cc.zip

#删除打包后的备份文件

rm -rf ServerBack.sh

#删除一键压缩脚本

cd ..

#返回上一级目录

#PassWord: YWNiND-MGNiYT-ZiYWI2-NjE1NG-JmNDhk-YzBkMj

#将back备份目录里的文件再次打包, 这次是用rar来压缩打包并添加密码. -p 是添加密码参数 -z 是添加注释参数,

#Reading comment from stdin 看到这行后请输入您的注释信息, 输入完成后按一次回车并再次按下键盘上的#Ctrl键和D键,就会进入压缩.

注:在脚本里,如果需要实行一键备份的话, 需要在脚本里创建一个一键进行rar压缩的脚本,并把本脚本里的rar压缩那一行用#号注释掉. 这样就不需要再手动输入密码了,直接就由另一个脚本接管了.

Linux rar压缩

# !/bin/bash

ac=`date +%Y`

bc=`date +%m`

cc=`date +%d`

mkdir /var/www/back

cd /var/www/

cp -ar /var/www/wordpress back/

cp -ar /var/www/cms back/

cp -ar /var/www/Discuz back/

mysqlcheck -Ao -uroot -pNGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z

mysqldump -u root -pNGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z cms |gzip > /var/www/back/cms"_"$ac"_"$bc"_"$cc.sql.gz

mysqldump -u root -pNGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z Discuz |gzip > /var/www/back/Discuz"_"$ac"_"$bc"_"$cc.sql.gz

mysqldump -u root -pNGNlYm-NDU5Mm-NlMmFi-NmM1NW-ZhODc0-MjQ2Z wordpress |gzip > /var/www/back/WordPress"-"$ac"-"$bc"-"$cc.sql.gz

cd back

tar -czvf cms"_"$ac"_"$bc"_"$cc.tar.gz cms/*

tar -czvf wordpress"_"$ac"_"$bc"_"$cc.tar.gz wordpress/*

tar -czvf Discuz"_"$ac"_"$bc"_"$cc.tar.gz Discuz/*

cd ..

rm -rf back/cms

rm -rf back/Discuz

rm -rf back/wordpress

#rar a toutiao"_"$ac"_"$bc"_"$cc.zip back/* -pYWNiND-MGNiYT-ZiYWI2-NjE1NG-JmNDhk-YzBkMj -z

password=`YWNiND-MGNiYT-ZiYWI2-NjE1NG-JmNDhk-YzBkMj`

echo '#!/usr/bin/expect' >> ServerBack.sh

echo 'spawn rar a server"_"$ac"_"$bc"_"$cc.zip back/* -p$password -z' >> ServerBack.sh

echo 'expect "Reading comment from stdin"' >> ServerBack.sh

echo 'send "Password:$password"' >> ServerBack.sh

echo 'send "\04\04"' >> ServerBack.sh

#\04 =CTRL+D

echo 'expect eof' >> ServerBack.sh

chmod 777 ServerBack.sh

./ServerBack.sh

cp -ar toutiao"_"$ac"_"$bc"_"$cc.zip /var/www/cms/

rm -rf back

rm -rf toutiao"_"$ac"_"$bc"_"$cc.zip

rm -rf ServerBack.sh

cd ..

Linux rar一键备份脚本

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:http://www.toutiao.com/a6419047682370699777/

免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部