linux下实现VPS免费备份脚本
有人说你怎么不备份呢?这个问题我也考虑过啊,其实你有没有想过对于这种国外的vps什么的,备份一下所有的网站怎么说也得百十兆吧。
你总不能天天去下载吧?这带宽可受不了,就算是带宽充足,说不定vps哪天也让你给下载挂了。
ok~切入正题,先说这个免费备份的问题,实际上也不免费,只是有个前提,那就是你在godaddy.com的买的有域名,大家都知道在godaddy上买域名可以免费申请空间的,对于不用这东西的来说实在是太浪费了,所以今天的主题就是针对那些在godaddy买过域名有免费空间的盆友(在godaddy有域名没申请空间的可以去问问度娘谷哥)
那我们备份vps的原理就是利用shell脚本备份网站以及数据库,然后通过ftp脚本吧备份文件上传到godaddy的免费空间,简单吧。
那我就直接上脚本了~嘿嘿。
#!/bin/bash
#set -x
time=`date +%Y%m%d`
#下面是备份MySql
[ ! -e /backup/sqltmp ] && mkdir -p /backup/sqltmp #创建临时备份mysql目录
[ ! -e /backup/backsql ] && mkdir -p /backup/backsql #创建mysql备份的存放目录
cd /backup/sqltmp
sql=`mysqlshow -u用户名 -p密码 |grep -v + | grep -Ev “Data|information|mysql|test” | awk {‘print $2′}` #查询mysql数据库里出系统数据以外的网站数据库,这里可以根据需要修改
for sqlname in $sql
do
mysqldump -u用户名 -p密码 $sqlname > $sqlname.sql
done
tar zcvf backsql.$time.tar.gz *.sql
rm -rf *.sql
mv * ../backsql/.
cd ..
rm -rf sqltmp
#下面是备份网站
[ ! -e /backup/webtmp ] && mkdir -p /backup/webtmp #创建临时备份web文件目录
[ ! -e /backup/backweb ] && mkdir -p /backup/backweb #创建web文件备份的存放目录
cd /backup/webtmp
tar zcvf backweb.$time.tar.gz /home/*
mv * ../backweb/.
cd ..
rm -rf webtmp
下面这个是上传到通过ftp把备份网站上传到godaddy空间上的脚本:
代码如下:
#!/bin/bash
backsql=`cd /backup/backsql;ls -r backsql* | head -1` #因为每天都备份文件取最新的那个
backweb=`cd /backup/backweb;ls -r backweb* | head -1`
ftp -n<<EOF
open ip #这里写godaddy空间的ip
user ftp用户名 ftp密码
binary
cd /back/ #备份文件要存放的ftp上的路径
lcd /backup/backsql/ #备份mysql文件本地存放路径
prompt
mput $backsql
lcd /backup/backweb/ #备份web文件本地存放路径
mput $backweb
close
bye
EOF
然后把这两个脚本做个crontab计划任务就实现每天定时异地备份了,而且省时省力省钱。
代码如下:
[root@90itt.com ~]# crontab -e
01 0 * * * /root/backup.sh
0 5 * * * /root/ftp.sh
相关推荐
-
Linux VPS下SSH常用命令整理
目录操作:rm -rf mydir /*删除mydir目录*/cd mydir /*进入mydir目录*/cd - /*回上一级目录*/ cd .. /*回父目录,中间有空格*/cd ~ /*回根目录*/mv tools tool /*把tools目录改名为tool */ln -s tool bac /*给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了*/cp -a tool /home/vpser/www /*把tool目录下所有文件复
-
Linux VPS 自动备份数据到远程主机FTP的方法
备份的数据如果不是特别大的话,不建议压缩,防止其中可能会有已经被多次压缩过的文件损坏. 备份数据库的方式为停止MYSQL服务后备份DATA目录,期间MYSQL会中止数秒至数十秒.请自行权衡利弊. 如果系统上没有ftp命令,先执行yum install -y ftp进行安装. 需要先建立/home/backup/目录,该目录不能用作其他用途. 复制代码 代码如下: #!/bin/bash #FTP信息 FTP_IP= FTP_USER= FTP_PASS= #备份数据库 /etc/init.d/m
-
Linux VPS/服务器上轻松导入、导出MySQL数据库的几种方法
下面VPS侦探说一下几个解决方法: MySQL数据库导出 方法1:mysqldump命令 执行命令: /usr/local/mysql/bin/mysqldump -u 用户名 -p 数据库名 > 文件名 如果数据库用户名有密码密码,执行后会提示输入密码.如果数据库用户名没有密码,就将命令中的"-p"参数删除. 注意:推荐使用MySQL root帐号进行操作,因为有些数据库可能设置了只能对应的用户进行操作. 方法2:phpmyadmin phpmyadmin支持将数据库文件直接备
-
Linux VPS备份教程 数据库/网站文件自动定时备份
几天写过两篇使用VPS的安全性设置的博文,其实不管我们如何设置安全,及时的备份VPS数据才是最为重要的.因为VPS与主机不同,主机可能很多时候服务商代为我们备份,VPS的操作和安全性大部分都需要我们自己来负责,即便很多VPS上提供每日备份服务,但是不可确定因素实在太多.比如商家跑路.母机硬盘损坏.不可控因素等. 关于VPS备份教程方法可用的方法也很多,比如我们常规的备份直接通过FTP下载,MYSQL数据库导出也是可以操作的,但是这些都比较麻烦,而且还需要人为去执行.这篇文章老左分享目前大家比较常
-
linux下Vps自动备份web和mysql数据库的脚本
用Vps什么事都要自己费心,备份也是.像Linode里的备份服务是要收费的,一个月是5美元.与其花这5美元,不如自己丰衣足食.为服务安装上了Dropbox,设定为每天4:00-6:00 开启同步服务.在之前运行两个脚本,自动备份web文件夹和mysql数据库. 两个脚本都是备份文件到/root/Dropbox/backup目录里,并自动删除10天前的备份.web备份是每周行一次,删除30天前的备份. 一.备份WEB文件夹 1.备份/home/users/public_html目录 2.修改cro
-
火山互联linux VPS配置方法
下面介绍一下我的配置方法 首先安装Liunx VPS远程管理工具,这里我用到的是:[SSH Secure Shell Client 3.2.9]安装好后,打开:SSH Secure Shell Client.点击 Quick Connect. 在弹出的对话框中输入自己VPS的相关信息. (点击查看大图) 填写好后,点击 Connect 连接.如果填写没有误的话.会弹出一个密码输入框.这里输入你VPS的连接密码: 使用passwd命令修改连接密码 接下来是配置域名绑定: 点击图二中 描述的按钮.打
-
Linux Nginx VPS下简单解决CC攻击
一,准备工作 1,登录进VPS控制面板,准备好随时重启VPS. 2,关闭Web Server先,过高的负载会导致后面的操作很难进行,甚至直接无法登录SSH. 3,以防万一,把设置的Web Server系统启动后自动运行去掉. (如果已经无法登录进系统,并且重启后负载过高导致刚刚开机就已经无法登录,可联系管理员在母机上封掉VPS的IP或80端口,在母机上用虚拟控制台登录进系统,然后进行2&3的操作,之后解封) 二,找出攻击者IP 1,在网站根目录建立文件ip.php,写入下面的内容. <?ph
-
linux使用管道命令执行ps获取cpu与内存占用率
复制代码 代码如下: #include <stdio.h>#include <unistd.h>int main(){ char caStdOutLine[1024]; // ps 命令的标准输出中的一行信息 char* pcTmp = NULL; // 指向以空格拆分后的字符串 char caSelfPID[10]; // 自身进程的PID字符串 char caPSCmd[24]; // "ps aux | grep
-
Linux VPS利用SSH重置ROOT密码的方法
鉴于我们的VPS安全性,老左建议大家为了维护VPS的安全性,也有必要在一段时间修改ROOT密码.VPS管理平台用户后台如果没有修改ROOT密码,也不要紧,我们可以利用SSH直接修改,一个单词命令就可以完成.只需要两步就可以完成. 第一步,登录我们的SSH,一般老左喜欢用PUTTY软件直接登录,这个我相信大家不要我再截图给大家看了吧. 第二步,用root用户名和密码登录. 输入"passwd"命令回车后然后会提示我们输入新密码,然后回车再输入一次.回车后我们就设置完毕,以后我们就用新的R
-
使用Putty远程(SSH)管理Linux VPS的图文教程
用它来远程管理Linux VPS十分好用,其主要优点如下:◆ 完全免费;◆ 在Windows 下运行的都非常好;◆ 全面支持ssh1和ssh2:◆ 绿色软件,无需安装,下载后在桌面建个快捷方式即可使用:◆ 体积很小:◆ 操作简单,所有的操作都在一个控制面板中实现.putty下载地址: http://soft.vpser.net/manage/putty/puttyfile_0.60cn.zip下载完成,解压,即可使用.以下是使用putty 登录Linux VPS进行远程(SSH)管理 的图片教程
-
Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本
准备工作: 需要提前在VPS安装好lftp,lftp功能上比较强大,CentOS直接执行:yum install lftp,Debian执行:apt-get install lftp . 需要在VPS上创建/home/backup/ 目录,在FTP上创建backup目录. 如果VPS上数据库不多的话使用Godaddy的免费空间就可以(10GB空间,300GB流量),只要注册个域名就免费送. 下面将备份脚本进行部分注释: 复制代码 代码如下: #!/bin/bash #Funciont: Back
-
linux VPS主机上备份网站和数据库的方法
今天介绍一下简单的方法为自己的VPS备份. 1.使用putty登录VPS,这里不多介绍了. 2.备份网站目录: [root@www ~]# cd /web/www //进入相应的目录 [root@www www]# tar zcvf vps.tar.gz vps //使用tar打包且压缩vps文件夹,压缩后的文件名为:vps.tar.gz [root@www www]# 3.备份数据库: 方法一:使用PHPmyadmin备份数据库 方法二:使用mysqldump定时自动备份数据库 [root@w
-
Linux VPS安全设置之二 禁用ROOT账户
继前一篇"修改SSH端口"设置我们的Linux VPS安全性能之后,今天继续完成其他方法.不管是想尝试入侵我们网站是软件扫描,还是人为的操作端口的扫描弱命令是一种方法,其次就是猜测ROOT权限账户.一般的我们使用账户登陆都直接用ROOT登陆.如果我们把ROOT账户禁用,添加一个自己知道的账户,那VPS的安全入口基本完成.至少猜测密码的事情是完成不了. 第一步,我们先SSH 登陆VPS. useradd laozuo #添加用户名passwd laozuo #为laozuo用户名设置密码
-
Linux VPS安全设置之一 修改SSH端口(CentOS/Debian)
老左在之前的不少文章中已经分享过在centos或者在debian环境下安装lnmp和llsmp的教程,老左用人格担保肯定是可行的,因为我都是在实战操作后截图及写下来的文章.可以让VPS初学者手把手的学习如何在Linux VPS上安装系统及建立网站.老左第一次使用VPS不会安装环境,准备请一个网友安装,还准备收费50元,鉴于此我就自学. 我们在学会了VPS的安装和建站之后,肯定需要附带学习VPS的安全设置.因为VPS和主机不同,主机商可能会给我们备份,而且主机的安全性都有主机商承担.但是,如果现在
-
Linux VPS备份教程 手动备份网站数据
一般来说我们采用手动备份VPS中的网站就可以了.一般老左喜欢1周备份一次网站,这样的频率应该还算是不错的,对于昨天分享的"数据库/网站文件自动定时备份"的方法比较适合数据比较重要,而且不能长期在电脑前维护的. 比如有些朋友经常出差,回来后打开网站发现数据没了等情况,这类朋友还是需要自动备份的.小博客或者小网站可以采用下面老左分享的手动备份网站的方法.由于我比较推荐使用VPS的时候不要用面板,所以操作备份也只能在SSH中进行. 首先,关于数据库的备份,如果你数据库比较小,直接可以登陆我们
-
Linux VPS下简单解决CC攻击的方法
一,准备工作 1,登录进VPS控制面板,准备好随时重启VPS. 2,关闭Web Server先,过高的负载会导致后面的操作很难进行,甚至直接无法登录SSH. 3,以防万一,把设置的Web Server系统启动后自动运行去掉. (如果已经无法登录进系统,并且重启后负载过高导致刚刚开机就已经无法登录,可联系管理员在母机上封掉VPS的IP或80端口,在母机上用虚拟控制台登录进系统,然后进行2&3的操作,之后解封) 二,找出攻击者IP 1,在网站根目录建立文件ip.php,写入下面的内容. 复制代码 代
-
Linux VPS 计划任务crond命令的使用方法分享
一.安装计划任务 这个程序在某些系统上可能没有预装,需要执行下面的命令进行安装. yum install -y vixie-cron 然后启动服务 service crond start 二.设置计划任务 (1)执行下面的命令来设置计划任务: crontab -e 之所以要使用上面的命令而不是直接使用vi,是因为cron要进行为数不多但是非常必要的语法检查. (2)设置计划任务的规范: t1 t2 t3 t4 t5 program t1 表示分钟, t2 表示小时, t3 表示一个月份中的第几日
随机推荐
- Ext面向对象开发实践(续)
- SQLite教程(八):命令行工具介绍
- 使用jQuery.Pin垂直滚动时固定导航
- 用javascript实现div可编辑的常见方法
- apache在win2003下的安全设置(配合文件夹权限目录,很好很安全)
- IOS代码笔记之文字走马灯效果
- MVC异常处理详解
- ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
- jsp简单自定义标签的forEach遍历及转义字符示例
- 用C/C++来实现 Node.js 的模块(二)
- Ajax核心XMLHttpRequest总结
- JavaScript下拉菜单功能实例代码
- jQuery Selectors(选择器)的使用(四-五、内容篇&可见性篇)
- Android实现定时器的五种方法实例详解
- Java使用ByteArrayOutputStream 和 ByteArrayInputStream 避免重复读取配置文件的方法
- Android点击事件派发机制源码分析
- Android利用RenderScript实现毛玻璃模糊效果示例
- 关闭Vue计算属性自带的缓存功能方法
- Java实现两人五子棋游戏(四) 落子动作的实现
- Ubuntu16.04/树莓派Python3+opencv配置教程(分享)