分类
日记

vultr推荐注册送20USD

对大陆用户来说,香港、新加坡、韩国、台湾、日本,地理位置近,机房速度快。香港地区带宽成本太高,小水管跑不起来,没有性价比。韩国机房带宽充足,但成本也高。

推荐几家性能优异的欧美vps,包括digitalocean,linode和vultr vps。但是,再好的vps机房,只要中国人疯狂涌入,最后都会把带宽占满,vps速度搞差。剩下的日本是中国站长的首选,也是比较容易出问题的机房。

Linode: Tokyo机房和Fremont机房

注册邀请(linode

referral code d590ccdffc7a28809876e19dcf797ec05751b151

Vultr: 邀请注册链接 送20刀

http://www.vultr.com/?ref=6918102-3B

 

分类
学习笔记

使用定时脚本自动备份VPS数据到Dropbox

一、登录Dropbox并创建一个APP

登录之后,通过这个地址:https://www.dropbox.com/developers/apps
点击Create an app创建一个APP,填写相关信息之后,选择Full Dropbox之后点击Create创建。

二、下载Dropbox-Uploader

下载地址:https://github.com/andreafabrizi/Dropbox-Uploader
下载之后上传至VPS的root目录。

三、赋予执行权限并绑定Dropbox APP

ssh执行,建议使用Xshell。
赋予Dropbox-Uploader.sh执行权限

chmod +x dropbox_uploader.sh

然后绑定APP

./dropbox_uploader.sh info

按提示分别输入App key和App secret,然后输入 Y 确认;
之后会出现如下:

> App key is 1ow34ylqwerk0zn, App secret is 38l3ijtutdpiewn and Access level is Full Dropbox. 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_toke=xxxxxxxxxxxxxxxxxxxx

 

复制链接在浏览器中打开(可能需要翻墙)并点击Allow绑定APP,然后回到Xshell按Enter。
之后可以执行下面的命令测试上传,提示Done就是绑定成功了。

./dropbox_uploader.sh upload /etc/passwd /backup/passwd.old

四、添加自动备份脚本

在Xshell中执行:

vi backup.sh
#!/bin/bash
DROPBOX_DIR="/backup/$(date +%Y-%m-%d)" #Dropbox上的备份目录
MYSQL_USER="root" #数据库帐号
MYSQL_PASS="123456" #数据库密码
YM_DATA=/usr/local/nginx/conf #nginx配置目录
BACK_DATA=/home/backup #本地备份文件存放目录,手动创建
DATA=/home/wwwroot #网站数据存放目录

#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date +"%Y%m%d").tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
YMName=YM_$(date +%Y%m%d).tar.gz
OldData=Data_$(date -d -6day +"%Y%m%d").tar.gz
OldWeb=Web_$(date -d -6day +"%Y%m%d").tar.gz
OldYM=YM_$(date -d -6day +"%Y%m%d").tar.gz

#定义Dropbox旧数据的名字(30天前)
Old_DROPBOX_DIR=/backup/$(date -d -30day +%Y-%m-%d) #Dropbox上的备份目录

#删除本地6天前的数据
rm -rf $BACK_DATA/$OldData $BACK_DATA/$OldWeb $BACK_DATA/$OldYM

cd $BACK_DATA

#使用命令导出SQL数据库,并且按数据库分个压缩
for db in `mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
    (mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz)
done
#压缩数据库文件合并为一个压缩文件
tar zcf $BACK_DATA/$DataBakName $BACK_DATA/*.sql.gz
rm -rf $BACK_DATA/*.sql.gz

#压缩网站数据
cd $DATA
tar zcf $BACK_DATA/$WebBakName ./*

#压缩域名配置数据
cd $YM_DATA
tar zcf $BACK_DATA/$YMName ./*

cd ~
#开始上传
./dropbox_uploader.sh upload $BACK_DATA/$DataBakName $DROPBOX_DIR/$DataBakName
./dropbox_uploader.sh upload $BACK_DATA/$WebBakName $DROPBOX_DIR/$WebBakName
./dropbox_uploader.sh upload $BACK_DATA/$YMName $DROPBOX_DIR/$YMName

#开始删除远程30天前的文件
./dropbox_uploader.sh delete $Old_DROPBOX_DIR/

echo -e "Thank you! all down"

 

按 i 进入编辑模式
适当修改以下内容后,复制粘贴进去

ESC键退出编辑模式,
输入:wq
然后按Enter保存并退出。

五、赋予脚本权限

在Xshell执行

chmod +x backup.sh

六、设置定时任务

执行

crontab -e

在最后加入

00 03 * * * /root/backup.sh

表示每天凌晨三点执行备份脚本。

crontab介绍 http://docs.oracle.com/cd/E24847_01/html/819-6951/sysrescron-12.html

七、最后重启Crontab

service cron restart

重启之后就设置完成了……

如果你不知道服务器当前时间,可以使用下面的命令;
查看当前时间:

date -R

 

例如:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

即修改服务器时区为上海。

分类
日记

Bandwagonhost最新推荐

今年,Bandwagonhost新款上线了,分别是10GB硬盘和20GB硬盘两个版本

10GB版本:

Self-managed service
SSD: 10 GB
RAM: 512 MB
CPU: 1x Intel Xeon 
BW: 1000 GB/mo
Link speed: 1 Gigabit

购买:order

20GB版本:

Self-managed service
SSD: 20 GB
RAM: 1024 MB
CPU: 1x Intel Xeon 
BW: 2000 GB/mo
Link speed: 1 Gigabit

购买: order

其他版本:

3.99/年 

  • HDD: 1.5 GB
  • RAM: 64 MB
  • CPU: 1x Intel Xeon
  • BW: 100 GB/mo
  • Order
4.99/年

  • HDD: 2.0 GB
  • RAM: 96 MB
  • CPU: 1x Intel Xeon
  • BW: 200 GB/mo
  • Order
5.99/年

  • HDD: 3.0 GB
  • RAM: 128 MB
  • CPU: 1x Intel Xeon
  • BW: 300 GB/m
  • Order
9.99/年

  • 5 GB SSD
  • RAM: 512 MB
  • CPU: 1x Intel Xeon
  • BW: 500 GB/mo
  • Order
分类
日记

Linux修改默认SSH端口

一、修改SSH端口

默认的SSH端口是22,为防止扫描端口破解密码,修改ssh端口为其他的数字,是非常有必要的。

SSH登陆VPS,修改配置文件。

vi /etc/ssh/sshd_config

找到#Port 22,去掉前面的#,并修改为Port 12345(数字尽量用4位数,避免被占用),然后重启就可生效。
CentOS 重启SSH : service sshd restart
Debian重启SSH:service ssh restart

二、禁止ROOT账户登陆

首先:添加用户名 
useradd test
为新用户名设置密码
passwd test

其次:禁止root登陆
vi /etc/ssh/sshd_config
找到PermitRootLogin yes,去掉前面的#,并将yes改为no,保存然后重启ssh。

最后:新添加的用户登陆
登陆用 su root 命令进行提权,让新用户有ROOT的管理权限。
举例:
login as: test          #新用户名
password:*****        #新用户密码
su root                     #提权
Password:*****        #原来ROOT密码