作者归档:admin

宏碁ACER R7-371T-50V5拆解内部图片

R7-1.jpg
宏碁ACER R7-371T-50V5这笔记本买到现在两年多了,轻巧好用。这次因为死机后长按电源键也无法关闭电源,只好拆了之后手动拨掉电源线(这货电池内置无法直接拆卸),之前一前想看一下其内部构造怎么样,拆开后就拍下照片以便大家了解。

这笔记本特别好拆,卸下后壳所有螺丝后,轻轻从靠近屏幕那面掰开(我用的指甲),把整面别开一条缝之后整个后壳就可以拿下来了。

主板比较小个,电池也不大,才48WH,内部做工还是比较规整的。USB3加了金属屏蔽罩好评!双M.2(NGFF)硬盘接口好评!正面没有看到内存槽,估计是板载在背面了,意味着你无法扩展内存,这点差评!

下面看图吧~

R7-1.jpg
R7-2.jpg
R7-3.jpg
R7-4.jpg

魅蓝NOTE3 MEIZU M3 NOTE刷国际版rom教程

本文首发于魅族论坛,但那个奇葩的坛子估计没有人需要这类东东,感觉发错地方了,还是搬到自己的博客靠谱。


如果你对手机里针对中国市场专门定制的一些东东不满意,并且和博主一样,是没有GMS会死星人(虽然国内版也可以通过GOOGLE安装器安装上GMS,但使用起来总有一些奇怪的小问题),那刷国际版是一个很好的解决办法,ROM会比国内版本相对纯净(纯净也意味着对国内的APP环境没有免疫,意味着你还要花点精力做一番针对国内环境的调教–如装xposed架构再装绿色守护之类APP以对付国内的流氓)。
本文纯搬运,出处 Meizu M3 Note Global ROM
如果你觉得对你有帮助,望不吝点赞。
国际版升级包 Flyme OS 5.1.3.1G 这个是官方版的,并非第三方的。
更新Flyme OS 5.1.3.3G的升级包,升级提示版本过低的朋友可以试下这个版本。
更改手机ID为国际版的脚本 global.sh Script
考虑到有些朋友无法在上面链接下载,放个百度云备用链接
链接: http://pan.baidu.com/s/1geTGSBh 密码: qiqm

下面开始教程

  1. Enable root or make sure you have root access. You can obtain root using KingRoot app also.

首先root你的手机,具体方法不表。

  1. Download and copy the attached global.sh script to root directory.

下载脚本到根目录

  1. Also, download update.zip file and copy to root directory.

下载升级包到根目录

  1. Search in google and download any Android Shell Terminal Emulator and install. Launch Android Shell Terminal Emulator and input following commands:
    su

    下载命令行工具 我用的是ConnectBot,进入命令行 输入 su 之后回车

    (wait till $ sign changes to #. If it doesn’t change, then you don’t have root access)
    如果你没有看到路径符改变为#,表示你没有root权限,请root你的手机。
    sh /sdcard/global.sh

    再输入上述命令

  2. The script will backup old phone id and will replace by new id and then it will reboot automatically.

此脚本会把你的手机ID更改为国际版ID并重启。

  1. Upon reboot it will go to Recovery mode. In the recovery mode, you MUST select both System Update and Clear Data, and proceed.

重启后会进入recovery模式,手动选择你刚才放到根目录的升级包进行升级并清除数据。

  1. Wait until the update completes and you will have international firmware installed.

升级完成 重启进入系统,你的手机已经是国际版的系统了。


还是发在这里爽,发在坛子里排版蛋痛得要命!

考虑到很多人不知道怎么进入本机命令行模式,我简单说下
android系统有很多命令行模式的APP,我用的顺手的是ConnectBot(在菜市场里就能下载到),这个主要功能是远程管理linux主机,但它也能实现本地命令行的功能,见下图
首先 在主界面选择“local”连接模式
M3_1.jpg
别的用户名什么的都不用输,回车后进入如下界面
M3_2.jpg
这个就是本机命令行模式了,但默认的用户权限是很低的,对于系统低层完全没有修改权限,我们需要输入su命令进行提权,以root(最高权限用户)进行操作。
M3_3.jpg
上图可以看到,输入su之后命令提示符的用户变成root的,注意执行su命令时手机上的root权限管理软件会询问你是否给予ConnectBot root权限,要确认给予。
之后如果你之前的步骤没有错误的话,照我那条命令输入回车就行了。
PS:这些图不是在M3上截的,在三星note3上截的,如果用户和设备名不一样,不用奇怪。

为shadowsocks开启chacha20加密

shadowsocks现在主流的加密方式有两种:aes-256-cfb和rc4-md5 前者加密强度高(指的并不是安全性高而是更难被GFW检测出来)但系统开销会更大一点,它是很多一键包默认的加密方式,后者加密解密速度比前者快得多,但安全性不够,虽目前使用还算正常,但已经不能保证通信内容肯定不会被GFW检测出来了。

加密强度高会增加一些额外的系统开销,现在的电脑手机之类的设备性能已经很强了,增加的这个负担在日常使用中基本很难察觉。所以如果你的ss只是在电脑或一些性能较强的手机平板之类设备上使用,我推荐使用aes-256-cfb。

但如果是用在路由器上,因为很多路由器CPU速度都在500MHz以下,性能并不强,使用aes-256-cfb多出来的那点性能开销在路由器上可能会构成一个影响性能的大问题,所以,之前使用在路由器上的加密方式一般都选rc4-md5。

因为在路由器等性能不强的设备上使用aes加密方式会影响性能,使用rc4-md5又加密强度不够,所以人们创造了Salsa20这个加密算法,它比前辈rc加密算法速度更快而加密强度更高,后来,Google又在这个算法的基础上开发了chacha20这个更快加密更强的算法。基本上,它现在算是性能不强的设备使用最佳的算法了。

我在家里的路由器上使用shadowsocks实现了自动翻墙,之前使用的加密算法是rc4-md5,了解到有chacha20这么个逆天的算法后,果断把加密算法改成这个。

服务器上的shadowsocks服务端为go版,自身不带这个算法,需要安装libsodium,让系统支持这个算法。
libsodium官网上的稳定版本已经更新到1.0.10,网上很多教程写的都是1.0.3或1.0.8版本,本着装新不装旧的原则,安装最新版的
系统为debian7 安装命令如下
apt-get install build-essential
wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
tar zxf LATEST.tar.gz
cd libsodium*
./configure
make && make install
ldconfig
之后更改shadowsocks的加密方式
vi /etc/shadowsocks/config.json
"method""aes-256-cfb"改为"chacha20"就可以了。
之后重启shadowsocks
/etc/init.d/shadowsocks restart
注意客户端也要相应更改加密方式。

新入手一个便宜的KVM架构VPS Virmach家的7.5刀年付机器

Virmach家上线于2014年,主打低价VPS,两年来口碑还算可以,上了7个数据中心,短期内也看不到跑路的可能。

购买这个机器主要为搭建一个免费ss公共服务器方便大家,顺便测试下其服务器速度怎么样,网上虽有很多评测,但看看就好,还是自己上手才能看出其好不好。| 放一个测速链接–chrome浏览器离线安装包(官方原版 50.8Mb),大家进行下载速度测试,可作为是否购买的参考依据,达400kb/s可流畅观看youtube 720P, 600kb/s以上可看youtube 1080P。

我买的是其10美元/年的128M KVM套餐,用了终身7.5折优惠码WHT25,实付7.5美元,这个价格买到KVM架构的VPS,即使其内存只有128MB,还是很超值的。

购买时没有仔细看,数据中心选择了默认的达拉斯,这是美国中部城市,地理位置摆在那,连接大陆的速度肯定不如更靠近西海岸的凤凰城(Phoenix),测试了下,ping值基本都得250ms以上,这个延迟比起西岸一众VPS200ms以下的延迟,真的不够看。

然后我就发TK要求帮我转移到凤凰城了,其回复很快,一两分钟就回复了(时间23:30,那时应该刚好是美国上班时间),答说要转移可以,要另外付3美元的转移费用。

我之前买过别家,不提Digitalocean或Vultr、Linode这些高大上的VPS,就是搬瓦工和PZEA也提供免费更换数据中心的服务的,这家怎么这么抠?不怎么想付这个钱,于是就回复说我在别家买VPS都提供免费转移服务,怎么你们这个还要收费?我这个vps刚建立,也不需要保留数据,你直接删除这个在Phoenix重建一个,是否还要收费?

果然回复说如果是这样的话,那当然是免费的,请问是否确认删除所有数据并在Phoenix节点重建VPS,我回复YES后,等了十多个小时,总算转移过来了。

就我这段接触来看,其服务还算良好,回复速度也算OK,感觉还不错。

转移到Phoenix之后先看ping值
ping.png
可以看到基本都在220ms以下了,最低接近200ms,比达拉斯有所改善。丢包率10%,测试时是上网晚高峰,这丢包率还可以接受(毕竟不是高价的线路优化的VPS,手里有个走CN2线路的VPS,99元/月,其同期ping值如下图)
ping1.png
延迟和丢包率都好看,速度飞快,不过一个月的价钱够买Virmach128M KVM两年了。

买KVM架构就是为了可以安装锐速以优化连接速度,接下来就是安装锐速了。

锐速是什么?简单的说就是一个网络加速软件,只安装在服务端就能显著提高服务器访问速度,在远距离、丢包率高、网络拥堵的情况,提高访问速度&单线程连接带宽效果特别明显,可谓shadowsocks的最佳搭档!详情请点击下载锐速官方说明文件了解。

锐速官方于几个月前停止了其免费账户的申请,本来其最初曾承诺过20M以下带宽的锐速永久免费,那时网上很难找到破解版锐速,因为很多个人用户用免费版本也满足要求了,有需要的人再买商用版本(提供更高的加速带宽)。现在自食其言,不再提供免费版,导致很多黑客看不过去,纷纷放出破解安装包,以帮其兑现其永久免费的诺言!

这里面安装最简便的应该属91Yun的一键安装包了,只要发行版和内核适配,一条命令就能安装好锐速无限宽带版本。

经测试,Virmach的KVM系统模板Debian7 32bit能直接安装,详细如下图,大家可在购买时选择这个版本。
Debian7.png

VPS开通拿到root帐户信息后,登陆上去,先更改下系统源(其默认有一点问题,把CD源也加进去了,先把这个注释掉)

vi /etc/apt/sources.list #把开头为 deb cdrom: 在其行首加个#注释掉

之后运行apt-get update更新下,会看到如下错误

There is no public key available for the following key IDs: xxxxxxxxxxxxxxxx

可运行如下命令修复

aptitude install debian-keyring debian-archive-keyring

完成之后再运行apt-get update就不会再看到错误了。

系统搞好之后,使用91Yun的一键安装包安装锐速,一行命令就可以了

wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh

正常安装后你会看到如下信息
test3.jpg
此时锐速已经运行,我要测试下有开锐速和没开锐速的速度会相差多少。先把锐速停止,用如下命令

/serverspeeder/bin/serverSpeeder.sh stop

创建一个100MB的测试下载文件并用python开一个简单http服务器进行下载测速

mkdir ~/test && cd ~/test
dd if=/dev/zero of=100mb.bin count=100 bs=1M
python -m SimpleHTTPServer 8080

本地打开测试器访问VPSIP:8080下载100mb.bin测试看看
test2.jpg
速度基本在30-50kb/s之间波动(博主宽带为电信6M),很慢。
打开锐速

/serverspeeder/bin/serverSpeeder.sh start

再下载测试看看
test1.jpg

速度提高了10倍还不止,测试时家里的电视正在占用宽带,可以认为是跑满带宽了,效果非常明显!

接下来安装shadowsocks,用得是秋水逸冰的shadowsocks-go一键包,命令如下

wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-go.sh
chmod +x shadowsocks-go.sh
./shadowsocks-go.sh 2>&1 | tee shadowsocks-go.log

ss install success.jpg

Done!这台服务器是用来供大家免费测试用的,现在已经很晚了,博主要睡觉了!等有时间再做一些shadowsocks公共节点必要的限制(防止别有用心的人拿来干坏事!)再共享出来,敬请期待!

昨天安装好之后太晚了,没有测试一下大家都喜闻乐见的Youtube 1080P的表现,今天补上^-^
youtube-1080p-test.png
测试时间10:50,不是上网高峰,结论:无压力,流畅得一B!今天晚高峰时再测试看看。

2016-6-12更新
选在晚高峰时测试了下,家里是6M电信宽带,看1080P还是比较吃力的,需要一定时间进行缓冲才能流畅观看。不过720P是没问题的,基本上即点即看!
test4.jpg
实际分享出去肯定要做一些限制的(限速限连接数&禁止BT),要不肯定没几天就让某些MJJ搞完500G流量,之后大家都没得玩「不高兴脸」

Shadowsock翻墙系列教程 <一> 前言:Shadowsocks的前世今生&来世

因为博主为Google脑残粉,自从几年前Google被墙后日子比较难过,度娘真的是没法满足搜索方面的需求!搜索英文网页用百度的话,出来的结果是灾难性的。

所以博主花了很多精力研究怎么翻过这段横亘在中国网民和世界互联网的高墙–长城防火墙 Great Fire Wall 简称GFW,从最开始的VPN、Tor到GoAgent和Softether,看着这些工具一个个失效,亲眼见证了这段高墙一点一点加高的过程。

党的某位先贤曾有言:人民群众的智慧是无限的!我们在见证着墙加高的同时,墙的筑造者同时也在见证着这句话,这绝对是一个讽刺!

Shadowsocks(缩写ss),中文名“影梭”,一个快速安全的Socks5代理,是在上述工具失效后由国内大神程序员@clowwindy于2013年开发出来的,发布到Github后因为其快速、高效,穿墙稳定而受到欢迎!最初只有Python版并且只有Linux系统能用,因其优点,各路大神为其添砖加瓦,目前已经发展到各主流平台全覆盖(Windows/Linux/Mac OS X/Android/IOS/Openwrt),是目前最好用的翻墙方案。

因其造成的影响太大,clowwindy于2015年8月被警察找上门要求其停止开发Shadowsocks并删除所有已发布的代码。clowwindy别无选择,选择妥协,于其后删除了代码,但因为这个项目是完全开源的,之后就有shadowsocksR 作者 @breakwa11宣布会继续开发新版本,项目并不会因为创始人的离去而中断!

虽然clowwindy已经不再开发维护Shadowsocks,但我们还是要记住clowwindy这个名字!

即使以后shadowsocks被高墙找到有效封杀的办法,我们相信也会有别的工具不断涌现,只要国内还有人对自由的互联网的渴求。

我们最终还是希望这堵高墙能像横亘在东德西德间的那道柏林墙一样轰然倒塌!

博主去年发过一篇博文 目前最好的翻墙方式 && shadowsocks翻墙傻瓜教程,帮助到了一些网友,很高兴!现在再以审视的目光看待它,平心而论,写的还是比较混乱的,又历经了多次更新,现在看起来可读性比较差,在这里挖个坑,博主要写一个系列教程,系统的整理下目前博主掌握的这方面的知识。

知识若不分享,实在没有意义! 博主很赞同这句话,分享知识时要进行系统的整理,学得一些知识和把这些知识分享给别人,是两件完全不同的事,分享知识比学得知识更难,但会巩固你已学得的知识,整理成文字也方便自己日后查找,何乐而不为?
下篇预告:Shadowsock翻墙系列教程 选择合适自己的境外服务器

openwrt安装xware 迅雷远程下载

之前用的路由器是BRCM47XX的CPU,迅雷并没有适配这款CPU,想折腾xware也无从弄起。
最近买了个新玩具,newifi mini lenovo出品,型号为lenovo y1,CPU为mt7620a,128m ram, 16m flash,xware有对这个CPU进行适配,就把它安装进路由吧。迅雷虽然一直在吸血,名声不好,但其下载速度真不是aria2、transmission之类可匹敌的。

我现在用的系统为pandorabox,一个openwrt的分支,已得到官方的支持,其针对国内的的互联网环境做了很多本地化的工作,并且不同于官方的是,它也使用闭源驱动,所以他的无线性能比官方版的要好很多,推荐所有买了newifi mini的朋友都刷这个固件。
下载地址传送门在此(截止2016年5月30日的最新稳定版本)

newwifi mini不锁BL,刷机非常方便,插上电源时按住“reset”键,看到两个指示灯双闪后放开,设置本地IP为192.168.1.2,浏览器访问192.168.1.1,上传下载下来的固件刷机就可以了。注意耐心等待,刷机过程不能断电,需时约100s。
刷机完成后(指示灯恢复正常),把本地IP设回DHCP自动获取,访问路由器后台 192.168.1.1 (默认用户root 默认密码admin)
把移动硬盘或U盘插进USB口,ssh(没有客户端?传送门下载)连接上去
pandora默认设置了usb自动挂载,使用如下命令看下是否已经正确挂载

ls /mnt

正常的话应该会有sda1 sda2之类的输出,表示你硬盘的第一个分区已挂载到/mnt/sda1,第二个分区已挂载到/mnt/sda2
挂载正常后开始安装迅雷的luci-app-xunlei

opkg update && opkg install luci-app-xunlei

之后进入管理后台,定位到服务-迅雷远程下载,设置下迅雷的安装路径,如下图
xware-1.png
使用如下命令安装xware

cd /mnt/sda1 #同上图设置的路径要一致
mkdir xunlei
cd xunlei

以上命令建立迅雷的安装目录并进入目录,之后就是下载适合你路由器版本的xware了,去这个页面选择适合你的安装包,newifi mini选择的是Xware1.0.31_mipsel_32_uclibc.zip,直接在路由器上wget 下载下来

wget http://dl.lazyzhu.com/file/Thunder/Xware/1.0.31/Xware1.0.31_mipsel_32_uclibc.zip
opkg update && opkg install unzip
unzip Xware1.0.31_mipsel_32_uclibc.zip
./portal

正常输出如下
xware-2.png
在管理页面就可以看到激活码了,访问迅雷远程填入激活码就算完成了。

如果你刷的固件是不是pandorabox,而是openwrt原版之类的,其官方源就没有luci-app-xunlei可供下载,可在此地址下载,其标注”all”,应该是所有平台都适用的(无验证!)。

openwrt编译学习记录

openwrt是一个开源路由管理系统,基于linux,功能非常强大。这阵子利用闲暇时间学习,写下本文做个记录,方便自己后续查找,也方便他人学习。
本文不定时更新。
《1》 编译环境搭建
本来是找算在本地使用虚拟机编译的,但弄了几次都编译失败,查找原因是某些包的下载地址被墙,下载失败导致,这个问题可以通过连接VPN解决,但我的VPN实在太慢,我又是急性子,最终是直接在Vultr上新建个VPS,在上面编译的。
使用的系统为ubuntu14.04 64位
使用如下命令搭建环境

apt-get update
apt-get install git-core build-essential libssl-dev libncurses5-dev unzip -y
apt-get install subversion mercurial -y
apt-get install zlib1g-dev gawk gcc-multilib flex gettext -y

编译时最好先安装screen,新建一个screen进行编译,因为编译时间很长,直接ssh连接可能会因为网络不稳断掉导致编译进程被杀死。挂起screen方法为 ctrl+a再+d 。恢复的命令为 screen -r 。

apt-get install screen -y
screen -S openwrt

编译时不能使用root进行编译,我们新建一个普通用户

useradd glorystar -m
su glorystar
cd ~

通过git来下载OpenWrt bleeding edge(trunk版本)

git clone git://git.openwrt.org/openwrt.git

这将会创建’openwrt’这个目录。这个目录将会是OpenWrt的编译主目录。
下载并安装所有可用的”feeds”

cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a

运行下面的命令让OpenWrt编译系统检查你的编译环境中缺失的软件包

make defconfig
make prereq

使用如下命令打开编译菜单选择要编译的软件包

make menuconfig

make menuconfig.png
必须设置项为 Target System (我选择Broadcom BCM47xx/53xx (MIPS)) Subtarget (我选择MIPS 74K) 这个是根据你的路由器来选择的,选择完成后就可以开始编译了。
默认编译是不包含luCI管理界面的,如果你需要它,可以选择它编译进固件,路径为 LuCI —> Collections —> < * > luci
表示不会被编译,< M >表示会编译但不包含进固件,生成ipk以便后来安装, < * >表示会被编译进固件,使用空格键切换选择。

选择好后一点选exit退出,最后选yes保存。使用如下命令进行编译

make V=99

使用多核CPU进行编译用如下命令(会加快速度)

make V=99 -j

之后就是漫长的等待,编译好的固件会放在bin文件夹里。
注意点:新建虚拟机硬盘至少要30G以上,我使用20G的硬盘导致空间被占完,编译失败。
《一》到此结束,参考 OpenWrt编译系统 – 安装

买了个Sandisk闪迪酷铄64G闪存盘

用了好几年的忆捷(EAGET)16G U盘丢了,全金属挺好用的,丢了挺可惜的。但丢了也就丢了,只能安慰自己旧的不去新的不来!
EAGET-CM981.png
买这个应该是在四五年前吧,京东买的,再去京东看了下,这货居然还在售!价格降了一半左右,记得我当时是五六十块买的。
这货虽然好用,但再买的话我不会再买这个,毕竟是好多年前的产品了,性能有点跟不上了。
一番查看,相中闪迪酷铄,在一众64G USB3的U盘中,性能更优而价格相差无几。
前天下午下单,当天京东就发出来了,昨天晚上送到公司,今天上班拿到手。
sandisk1.jpg
sandisk2.jpg
sandisk3.jpg
这个U盘比想象中更小巧一点,做工看起来比较粗糙,甚至感觉不如好几年前的EAGET,下载了CDM测试了下,基本达到了其标识的性能,总体还可以吧。
CMD.png
等有时间,再量产此U盘吧,就先到这吧。

VPS自动备份网站数据脚本 自动备份到FTP和Dropbox

数据是网站的命根子,必须妥善保管!勤做备份,做到有备无患。
借助liunx的任务计划crontab,我写了一个自动备份脚本让其在固定时间执行备份操作–打包网站数据备份到FTP空间和dropbox上。
备份到FTP需要系统有安装ftp,现在一般的VPS都默认安装,如发现没有此命令,可以使用如下尝试安装

yum install ftp #centos等redhat系的发行版
apt-get install ftp #debian系的发行版

上传到dropbox首先要建立一个dropbox APP,建立链接在此,如下图 注意不要选择business的app,也不需要full dropbox。
dropbox-1.jpg
dropbox-2.jpg
上传还需要用到一个第三方上传脚本Dropbox Uploader,使用如下命令把它下载到备份目录/home/backup并给予执行权限

curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh
chmod +x dropbox_uploader.sh

使用此脚本要先进行验证才能上传文件到dropbox,验证步骤如下

./dropbox_uploader.sh

1 输入上面的命令运行它,填入App keyApp secret
2 选择a
3 按y确认
4 复制生成的验证链接到浏览器访问
5 浏览器确认后终端按任意键验证完成

 ./dropbox_uploader.sh
 This is the first time you run this script.
 1) Open the following URL in your Browser, and log in using your account: https://www.dropbox.com/developers/apps
 2) Click on "Create App", then select "Dropbox API app"
 3) Now go on with the configuration, choosing the app permissions and access restrictions to your DropBox folder
 4) Enter the "App Name" that you prefer (e.g. MyUploader255431153919283)
 Now, click on the "Create App" button.
 When your new App is successfully created, please type the
 App Key, App Secret and the Permission type shown in the confirmation page:
 # App key: xxxxxxxxxxxx
 # App secret: xxxxxxxxxxxx
Permission type:
 App folder [a]: If you choose that the app only needs access to files it creates
 Full Dropbox [f]: If you choose that the app needs access to files already on Dropbox
 # Permission type [a/f]: a
 > App key is xxxxxxxxxxxx, App secret is xxxxxxxxxxxx and Access level is App Folder. Looks ok? [y/n]: y
 > Token request... OK
 Please open the following URL in your browser, and allow Dropbox Uploader
 to access your DropBox folder:
 --> https://www.dropbox.com/1/oauth/authorize?oauth_token=xxxxxxxxxxxx
Press enter when done...
 > Access Token request... OK
 Setup completed!

dropbox-3.png
dropbox-4.png

脚本命名为autobackup.sh 内容如下: 本文中autobackup.shdropbox_uploader.sh都放在备份目录,实际操作中请注意路径!

#!/bin/bash
#自定义区
Web_dir=/home/wwwroot                #网站文件夹
Bak_dir=/home/backup                #备份文件夹
Nginx_conf=/usr/local/nginx/conf                    #nginx配置文件夹
Cert_dir=/root/cert                    #证书文件夹
DB_user=root                    #数据库用户名
DB_pass=yourpassword                #数据库用户密码
FTP_IP=yourdomain.com                #FTP网址/IP
FTP_user=ftp                    #FTP用户名
FTP_pass=yourpassword                #FTP用户密码
FTP_dir=/home/backup                #FTP备份目录
#自定义区结束
#定义备份文件名
Web_data=Web_$(date +%Y-%m-%d).tar.gz
DB_data=DB_$(date +%Y-%m-%d).tar.gz
Nginx_data=Nginx_$(date +%Y-%m-%d).tar.gz
Cert_data=Cert_$(date +%Y-%m-%d).tar.gz
Dropbox_dir=/$(date +%Y-%m-%d)
#定义备份文件名结束
#定义旧备份文件名
Old_Web_data=Web_$(date -d -7day +%Y-%m-%d)            #本地和FTP网站数据备份和保留7天
Old_DB_data=DB_$(date -d -7day +%Y-%m-%d)            #本地和FTP数据库备份保留7天
Old_Nginx_data=Nginx_$(date -d -7day +%Y-%m-%d)        #本地和FTP Nginx配置备份保留7天
Old_Cert_data=Cert_$(date -d -7day +%Y-%m-%d)            #本地和FTP证书备份保留7天
Old_Dropbox_dir=/$(date -d -7day +%Y-%m-%d)            #远程dropbox备份保留7天
#定义旧备份文件名结束 保留天数根据自己需要修改
if [ ! -d "$Bak_dir" ]; then
 mkdir $Bak_dir
fi
cd $Bak_dir
#导出数据库备份分别压缩,最后再压缩为一个文件
for db in `mysql -u$DB_user -p$DB_pass -B -N -e 'SHOW DATABASES' | xargs`; do
    (mysqldump -u$DB_user -p$DB_pass ${db} | gzip -9 - > ${db}.sql.gz)
done
tar zcf $Bak_dir/$DB_data $Bak_dir/*.sql.gz
rm -rf $Bak_dir/*.sql.gz
#压缩nginx配置文件
cd $Nginx_conf
tar zcf $Bak_dir/$Nginx_data ./*
#压缩网站数据
cd $Web_dir
tar zcf $Bak_dir/$Web_data ./*
#压缩证书文件
cd $Cert_dir
tar zcf $Bak_dir/$Cert_data ./*
#上传到FTP
#我的FTP服务器不支持主动模式,所以加了 passive 参数以开启被动模式
#如你的FTP支持主动模式,请删除此行参数
ftp -v -n $FTP_IP