g.ho.st提供了多达5G的免费硬盘,最重要的是它支持ftp上传,所以非常简单的实现vps或是独立主机的数据定时把备份上传到ghost的网络硬盘
g.ho.st是一家提供免费web os的服务商,并且界面是中文的,比较酷,大家可以试试!
下面是我的推荐注册地址,可以帮我增加一些硬盘容量,嘿嘿!
http://g.ho.st/?action=invitation&referral=xzy&language=zh
g.ho.st的ftp开通好像不是即时的,所以注册完可以等上几分钟再试试ftp
ftp的地址是 ftp.g.ho.st 用户名密码:ghost上注册的用户密码及密码
下面是我的备份并ftp上传的shell脚本
第一个,每天备份mysql数据库并上传到ftp 保存为backmysql 设777权限
SQL代码
- #!/bin/sh
- #备份的文件名,我的是直接按每天的时间命名
- filename=mysql_$(date +%F).sql.gz
- #备份的路径
- file=/home/vhost/backup/backsql/$filename
- /usr/bin/mysqldump –all-databases -uroot -p您的mysql用户root的密码 –default-character-set=utf8 –opt | gzip >$file
- sleep 1s
- #转到数据库备份文件的所在文件夹
- cd /home/vhost/backup/backsql
- #ftp up
- ftp -i -n <<!
- open ftp.g.ho.st
- #修改成您的g.ho.st的用户名及密码
- user 用户名 密码
- #转到ftp上预设的backup/backsql文件夹
- cd /backup/backsql
- #上传备份文件
- put $filename
- bye
- !
- sleep 1s
- echo ‘ok’;
第二个是备份网站及相关配置文件,并上传到ftp硬盘 保存为backfile 设777权限
SQL代码
- #! /bin/bash
- #备份的文件名,我的是直接按每天的时间命名
- year=`date +%Y%m%d`
- filename=$year.tar.gz
- #打包所在备份的文件夹,支持多个文件夹一起打包
- tar zcvf /home/vhost/backup/backfile/$year.tar.gz /home/vhost /home/ftp /usr/local/nginx/conf
- sleep 1s
- #转到备份包的所在文件夹
- cd /home/vhost/backup/backfile
- #ftp up
- ftp -i -n <<!
- open ftp.g.ho.st
- #g.ho.st的用户名及密码
- user 用户名 密码
- #转到ftp下的backup/backfile文件夹
- cd /backup/backfile
- put $filename
- bye
- !
- sleep 1s
- echo ‘ok’;
最后一步,设置linux系统的crontab
每天1点1分执行backmysql脚本,备份并上传
01 01 * * * root /home/vhost/backup/backmysql
每星期一的20点1分执行backfile脚本,备份并上传
20 01 * * 1 root /home/vhost/backup/backfile