好久不见,来聊聊

哈喽各位,好久不见,这几个月一直沉迷刷bilibili,几乎都忘了有这博客了。今儿有空上来更新一发。
首先是我的博客已经一周年啦(话说,这不是两个多月之前的事儿吗),感谢各位一年来的陪伴与支持。
再就是上个月期末考完了,已经放暑假了。
然后这几天拿HTML5+CSS3+PHP写了个东西,学了一年PHP的成果,传送门
再就是这一阵子准备开始制作一些科技方面的视频,都会放到bilibili上,开更的时候博客也会通知。

该来的还是会来

在科学和希望中度过了55年,他终究还是走了。
虽然他走了,但他说的话永远鼓励着无数人前行:

While theres life,there is hope.
活着就有希望

——悼史蒂芬·霍金

“保住命根子”——网站数据备份(1):backup.sh

俗话说得好:“数据是网站的命根子”。数据之于网站,就像灵魂之于身体,操作系统之于计算机。正因如此,就像我们要爱护身体一样,站长当然也要保护好自己的数据。保护数据有很多方法,对数据进行备份是其中最有效也最好的解决办法。这两篇文章我就要和大家聊一聊备份数据的那些解决方案。今天带来的是第一种:backup.sh。剩下的后面会说。好吧,我的上帝,既然前面已经扯了那么多废话,那就让我们进入正题吧!(莫名基督)
首先给大家介绍一下backup.sh这玩意儿的来头:

backup.sh是由Linux和服务器圈内知名大佬秋水逸冰开发的基于Linux Shell的备份工具,功能非常强大。

既然backup.sh很强大,那它可以做什么呢?作者说了:

1、支持 MySQL/MariaDB/Percona 的数据库全量备份或选择备份;
2、支持指定目录或文件的备份;
3、支持加密备份文件(需安装 openssl 命令,可选);
4、支持上传至 Google Drive(需先安装 gdrive 并配置,可选);
5、支持在删除指定天数本地旧的备份文件的同时,也删除 Google Drive 上的同名文件(可选)。
6.支持上传备份文件到 FTP

看完了它的介绍,那么下面我们就开始动手吧!
首先惯例,下载编译:

wget --no-check-certificate https://github.com/teddysun/across/raw/master/backup.sh
chmod +x backup.sh

接着使用类似WinSCP那种的文件浏览器登录到服务器,打开脚本文件进行编辑配置,编辑的代码位置在代码中########## START OF CONFIG #################### END OF CONFIG ##########中间,每一个配置下面会有一个变量,变量就是写入配置的地方,下面是作者给出的编辑参数:
首先是指定要备份的文件或目录,需要编辑其中的BACKUP参数,可以同时指定多个,格式如下:
备份单个文件/目录:

BACKUP[0]="/data/wwwroot/example.com/"

以上的代码是指备份/data/wwwroot/example.com这个目录。
备份多个目录需要创建更多的变量,格式如下
BACKUP[0]="/a/"
BACKUP[1]="/b/"

接着往下变量名就像BACKUP[3]BACKUP[4]这样写就行了,有点编程知识的人都知道,这是使用的数组变量,包括PHP也是可以这样写的。
接着是数据库备份设置:
首先需要提供数据库root密码,需要编辑MYSQL_ROOT_PASSWORD参数,格式刚刚带大家熟悉了。
接着设置数据库,需要编辑MYSQL_DATABASE_NAME参数,可以使用刚才讲的BACKUP参数的数组形式来指定备份。
再指定一个目录进行备份,这次要编辑的是LOCALDIR,格式参考前面。
下面给出作者在文档里写的其他设置的参数:
FTP选项:

FTP_FLG (上传文件至 FTP 的 FLG,true 为上传,false 为不上传)
FTP_HOST (连接的 FTP 域名或 IP 地址)
FTP_USER (连接的 FTP 的用户名)
FTP_PASS (连接的 FTP 的用户的密码)
FTP_DIR (连接的 FTP 的远程目录,比如: public_html)

备份设置:

LOCALAGEDAILIES (指定多少天之后删除本地旧的备份文件,默认为 7 天)
DELETE_REMOTE_FILE_FLG (删除 Google Drive 或 FTP 上的备份文件 FLG,true 为删除,false 为不删除)
ENCRYPTFLG (加密FLG,true 为加密,false 为不加密,默认是加密)
BACKUPPASS (加密密码,重要,务必要修改)
LOCALDIR (备份目录,可自己指定)
TEMPDIR (备份目录的临时目录,可自己指定)
LOGFILE (脚本运行产生的日志文件路径)

设置好了就可以运行来备份了,执行命令:
./backup.sh
也可以使用cron来定时备份,在设置cron之前,需要将脚本中的这段代码修改一下:
log() {
echo "$(date "+%Y-%m-%d %H:%M:%S")" "$1"
echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE}
}

改为:
log() {
echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE}
}

使用Google Drive备份需要下载GDrive工具,可以在 https://github.com/prasmussen/gdrive下载到。
最后附上作者撰写的文档:https://teddysun.com/469.html
好了,关于backup.sh就说到这儿,下篇再见!

过年了

不知不觉,又是一年春节,又是一个中国年
那就在这里祝大家春节快乐,阖家团圆,万事如意。
今年是狗年,祝大家狗年福旺财旺,汪汪汪!

【主机】Vultr新泽西VPS测评

话说快两个月没写过主机测评了,今天有空写一篇,好吧,切入正题。
Vultr可能是目前大牌主机商里卖的最便宜的一家,其在新泽西州皮斯卡特维和迈阿密的自建机房的VPS更便宜,最低卖到了$2.5一个月。DvBlog之前也在上面呆过一阵子,但是一直没有去测评这家。今天闲下来有空就搞了一台2.5刀的新泽西机房VPS准备做个测评。话不多说,开始测评!
官方给的配置是这样的,以备参考:

基础测试

看出来是KVM的,内存超了点儿,系统是官方的CentOS6,内核版本旧了点,硬盘一点没超。
IO测试

IO速度不错,毕竟是SSD硬盘的。
速度测试
全国Ping:

速度对于这个位置来说不错,毕竟地理位置是个坎。
上传下载速度测试:

速度不错,移动最好,联通次之,电信又次之。
网络测试
带宽大小:

够大了,基本都达到了100M以上。
线路测试:
电信:

经纽约、洛杉矶来国内,走Teila线路。
联通:

和电信一样。
移动:

走的KDDI旗下Telehouse家的NYIIX交换站到国内的,由于线路是日本公司运作,所以到国内的速度也差不了多少。
综合性能测试
使用UnixBench进行性能跑分:

855.5,有点儿低了。
测评完了,总结一下:
从性能上来看,Vultr新泽西比较偏中等,适合做个网站,梯子啥的;从速度,网络上来看,做梯子啥的比较适合移动线路,做网站实测过三网都很快。

聊聊最近

终于又感到了刚重新开博时候的紧张和“亚历山大”

因为又一次考试要到来了

于是又是处于复习状态

于是又要暂停更新了

最近还在学PHP

总的来说一句话:

虽然未来无法预料,也不得不被环境逼着往前冲

2018,新起点,新征程

这一刻,是DvBlog陪大家度过的第一个新年,心里感觉还蛮激动的。
2017已经过去,2018已经到来,希望在这一年里大家能好好学习,好好工作,争取实现自己的梦想。
2018,新起点,新征程,你我同在!

【Linux】Linux服务器磁盘挂载——大盘鸡不再吃灰

相信不少剁手党一定会在服务器打折的时候大量囤积,肯定也会有大硬盘的,但是不少人买回来之后却不知如何用。为了帮助大家解决这个问题,今天我来给大家分享几种将一个Linux服务器中某个目录映射到另一个Linux服务器中的目录的方法,可以把大盘鸡变身为服务器的别的磁盘。
1.SSHFS
SSHFS使用的是SSH的形式进行互联,目前在yum和apt-get里均可以找到安装包,所以只需要执行下载安装包的命令就可以了。并且只需在本机上进行安装,远程的被挂载机不用执行任何命令

首先在本机上执行:

CentOS:yum install sshfs
其他系统:apt-get install sshfs

接着执行目录映射命令:

sshfs root@1.1.1.1:/xxsx /xxs

其中/xxs是本机上需要远程挂载的目录,1.1.1.1是被挂载机的IP,/xxsx是远程被映射的目录,大家要注意替换成你自己机器的真实信息。
然后需要你输入被挂载机的Root密码(没root怎么连接啊)。
CurlFtpFS
这个顾名思义就是通过FTP协议来挂的,这意味着什么呢?————可以把无限容量的虚拟主机(EIG,DreamHost这些家打折的时候30刀左右一年)通过FTP协议挂载上去,数据不愁!不过需要被挂载机上支持FTP,可以使用Pure-Ftpd。
首先在本机上安装CurlFtpFS

CentOS:yum install curlftpfs
其他系统:apt-get install curlftpfs

接着执行命令

curlftpfs 1.1.1.1 /mnt -o user=max1324:k4Hi2

其中1.1.1.1是被挂载机的IP地址,max1324是FTP帐号,/mnt是本机需要挂载的目录,至于被挂载机的目录…..创建FTP的时候可以设定。
好了,以上就是我知道的两种Linux服务器远程挂载的方法,这次感谢@Wendal提供了一些有关SSHFS的参考资料。最后希望大家可以好好利用这些挂载方法,不再让手中的大盘鸡吃灰!

WordPress4.9.1已经出来了

前几天刚刚更新到4.9,今天进了后台一看:说可以更新4.9.1了。看着Automattic的效率还蛮高的,这么一会儿就更新好翻译出来了。