CentOS下自动备份网站和数据库的脚本

接触CentOS已经有几个月的时间了,使用了太久的windows在刚接触linux命令行界面的时候还真有点不太适应,但到最后也就应了大家的那句话,跟linux接触的时候越长,就越为她的简洁高效而折服,我手上有一台服务器安装的操作系统是CentOS5.4,上面部署的有网站和数据库应用,基本构架:centos+nginx+mysql+php,但由于网站数据比较多,自己手动备份的话太费时间,所以就打算做一个自动运行的脚本,帮助我在每周的指定时间备份网站内容和数据库内容,用tar打包,然后再传到我另外一个ftp服务器上,整个备份过程就完成了。

假定这台服务器的网站目录为:/home/www,数据库程序路径为:/usr/local/mysql/bin,数据库名为:levil,ftp服务器为:ftphost,下面先来看完整的自动备份脚本(自动备份脚本保存位置为:/home/backup.sh):

#!/bin/bash

cd /home

WebBakName=web_$(date +%y%m%d).tar.gz

tar zcvf $WebBakName www

SqlBakName=sql_$(date +%y%m%d).tar.gz

/usr/local/mysql/bin/mysqldump -uusername -ppassword levil>backup.sql

tar zcvf $SqlBakName backup.sql

ftp -nv ftphost << EOF

user ftpname ftppass

put $WebBakName

put $SqlBakName

quit

EOF

rm -f backup.sql $WebBakName $SqlBakName

下面来给大家一一讲解:首先进入/home目录,定义WebBakName变量为网站备份的文件名,文件名格式为web_日期.tar.gz,定义SqlBakName变量为数据库备份的文件名,文件名格式为sql_日期.tar.gz,把整个网站目录www打包到WebBakName文件名中,使用mysqldump导出指定数据库内容到backup.sql,然后把数据库备份打包到SqlBakName文件中,本机备份工作至此结束,如果你没有足够大的远程ftp空间的话,可以直接把备份文件下载到本机,但我还是建议直接备份到另外一个服务器上的ftp空间中,做到完全自动化备份,这时你需要把脚本中的ftphost、ftpname和ftppass分别替换成你的ftp信息,整个备份过程就完成了。

接着输入chmod +x backup.sh给脚本添加执行权限,再输入:crontab -e编辑任务自动开始时间,比如我输入:

00 05 * * 1 /home/backup.sh 就代表每周1的上午5点整执行该自动备份操作。

在这一切完成之后,你可以先把自动任务时间改为当前的接近时间,看自动备份脚本是否工作正常,测试OK的话以后就不用担心这台服务器出现任何问题导致数据丢失了,当然如果你的数据更新比较频繁的话,建议把自动备份时间调整为每日。

(0)

相关推荐

  • 自动备份网站文件和数据库上传到FTP空间

    数据库备份采用发送到Email和FTP空间,双重备份,保证数据的安全。 #你要修改的地方从这里开始 MYSQL_USER=root #mysql用户名 MYSQL_PASS=123456 #mysql ...

  • BestSync怎么用?使用BestSync同步软件自动备份网站数据图文教程

    如何使用BestSync自动备份网站数据?bestsync是一款企业级文件同步软件,是数据备份.数据同步的最佳工具,BestSync可以支持任何目录间的文件同步,通过软件可以轻松在本地目录.网络盘.共 ...

  • 如何设置QQ浏览器使其能够在移动网络下自动备份文档

    当我们在使用QQ浏览器的时候,如果想要浏览器能够在移动网络下自动备份文档的话,应如何设置呢?接下来就由小编来告诉大家.具体如下:1. 第一步,打开手机中的QQ浏览器,进入主页后,点击下方的文件选项.2 ...

  • win98自动备份注册表数据库的技巧

    为了解决用户在Windows 95中无法对注册表数据库等重要系统文件进行备份而导致的系统稳定性问题,Windows 98新增了一个注册表检查器,它能在每次启动时自动对注册表数据库进行检查,发现问题及时 ...

  • CentOS下如何备份与还原mbr?

    CentOS下备份与还原mbr, 1.以管理员身份进入系统使用命令 dd if=/dev/sda of=/var/mbr bs=512 count=1 将512字节的mbr记录备份到/var/mbr, ...

  • linux vps面板kloxo 创建站点及自动备份

    kloxo 是一款linux vps服务器 非常优秀国外免费面板,国内用户保有量也非常大。汉化也很到位了。之前笔者以介绍了 一键安装包的使用非常方便(一键安装kloxo)。尽管如此单对于初次使用的朋友 ...

  • FTP 网站数据自动备份的实现方法

    第一步 新建FTP备份任务 下载并运行《绿环FTP数据备份》点击“FTP备份”按钮,选择“新建FTP备份任务”,会弹出参数设置菜单,而后设置网站服务器的FTP用户名和密码。如果是虚拟主机用户,就需要填 ...

  • windows系统下oracle数据库定时自动备份

    实现目的:为避免数据丢失或错误,对数据库数据的定时备份 实现方式:oracle导出+windows 任务 完成 学习方法:先知其然,后知其所以然 实现过程: 1. 建立文件 backup.bat (自 ...

  • Linux系统对网站数据定期自动备份与删除

    需求是这样的,首先网站文件和数据库需要每天自动备份,然后备份目录超过一定时间的删除,比如保留最近14天地备份 刚好vps是redhat,里面默认居然没有装crond的服务,输入以下命令安装 yum i ...