linux下Vps自动备份web和mysql数据库的脚本

 更新时间:2012年05月11日 22:59:33   作者:  
这篇文章主要介绍了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、修改crontab为每周第一天3:22时运行
复制代码 代码如下:

22 3 * * 0 root run-parts /etc/cron.weekly

3、复制脚本到/etc/cron.weekly目录
4、修改权限
复制代码 代码如下:

chmod 0755 /etc/cron.weekly/webbackup.sh

5、脚本如下
复制代码 代码如下:

#!/bin/sh
filename=`date +%Y%m%d`
backup_dir="/root/Dropbox/backup/web"
#delete all files 10 days ago
find $backup_dir -mtime +30 -name "*" -exec rm -rf {} \;
#each user you want backup
users="baidu sina"
for user in ${users}; do
tar zcvf $backup_dir/$user$filename.tar.gz /home/$user/public_html
done

6、注意filename那句不是单引号,在tab键上方
7、要备份的用户的public_html目录,就把该用户填入users

二、Mysql数据库每日备份

1、为了安全,新建用户backup,用强密码(自动生成即可),全局权限为select,lock tables
2、每日3:00开始执行,修改crontab
3、复制脚本到/etc/cron.daily
4、修改权限
5、脚本内容
复制代码 代码如下:

#!/bin/sh
dbuser="backup"
dbpassword="youpassword"
datas="db1 db2 db3"
filename=`date +%Y%m%d`
bin_dir="/usr/local/mysql/bin"
backup_dir="/root/Dropbox/backup/mysql"
#delete all files 10 days ago
find $backup_dir -mtime +10 -name "*" -exec rm -rf {} \;
#Do each database backup
for data in ${datas}; do
$bin_dir/mysqldump --opt -u$dbuser -p$dbpassword $data | gzip > $backup_dir/$data$filename.sql.gz
done

6、同上一个第6条
7、要备份的数据库填入datas

三、感受

因为都在美国的原因,备份到dropbox的速度很快,一个10M的文件备份到dropbox,从开启dropbox服务,马上刷新dropbox的网站就可以看到了。
如果流量很紧张的话,也可以设定dropbox为每周运行,或每5天运行等。应该是需要设定要备份周期,或者结合起来使用。

相关文章

  • 记一次Ubuntu服务器被黑经历

    记一次Ubuntu服务器被黑经历

    最近我们的一台Ubuntu阿里云服务器一直提示有肉鸡行为,提示了好几天,开始并没有关注,然后连续几天后发现应该是个大问题啊,很可能服务被侵入了。下面通过本文给大家分享下详情
    2016-11-11
  • 总结Linux 6种日志查看方法

    总结Linux 6种日志查看方法

    在本篇文章里小编给大家整理的是关于Linux 6种日志查看方法,有需要的朋友们可以学习下。
    2020-02-02
  • apache下ab.exe使用介绍

    apache下ab.exe使用介绍

    这篇文章主要介绍了apache下ab.exe使用方法,需要的朋友可以参考下
    2014-03-03
  • Linux gdb调试正在运行中的程序方式

    Linux gdb调试正在运行中的程序方式

    这篇文章主要介绍了Linux gdb调试正在运行中的程序方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 2018值得选用的五个Linux服务器发行版

    2018值得选用的五个Linux服务器发行版

    Linux发行版很少互相复制。从以下5个最流行的Linux服务器发行版来看,这一点很明显,它们各有不同的优缺点,这篇文章给大家带来了2018值得选用的五个Linux服务器发行版,需要的朋友参考下吧
    2018-01-01
  • apache下面二级目录部署react/vue的方法

    apache下面二级目录部署react/vue的方法

    这篇文章主要介绍了apache下面二级目录部署react/vue的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • LAMP服务器性能优化技巧之Mysql优化

    LAMP服务器性能优化技巧之Mysql优化

    目前LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。本文我们将介绍基于LAMP组合的服务器的性能优化技巧:Mysql优化
    2012-02-02
  • linux中权限管理命令详解(chmod/chown/chgrp/unmask)

    linux中权限管理命令详解(chmod/chown/chgrp/unmask)

    这篇文章主要介绍了linux中权限管理命令详解(chmod/chown/chgrp/unmask)的相关知识,通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Linux 系统优化的一些建议(内核优化)

    Linux 系统优化的一些建议(内核优化)

    这篇文章主要介绍了Linux 系统优化的一些建议,帮助大家更好的使用Linux,感兴趣的朋友可以了解下
    2020-08-08
  • Linux上查看用户创建日期的几种方法总结

    Linux上查看用户创建日期的几种方法总结

    在Linux系统中,如何找到用户创建的时间呢?下面这篇文章就来给大家介绍了关于在Linux上如何查看用户创建日期的几种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-05-05

最新评论