Centos中crontab自动备份网站实现方法

crontab简介

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。  通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

crontab用法

crontab的格式如下面:

 代码如下 复制代码

f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行程式的路径。

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其余类推
管理员登录SSH,输入命令crontab -e编辑crontab文件,根据上面的格式输入并保存。

下面说下常见的备份方法:

1. 文件备份

用tar命令压缩文件做备份:

 代码如下 复制代码
#tar -zcvf backup.tar.gz dir1

dir1为要备份的目录或者文件
备份恢复的命令:

 代码如下 复制代码
#tar -zxvf backup.tar.gz

2. 数据库备份

大多数数据库系统有命令支持数据库的备份和恢复. 比如mysql, 数据库的备份命令为:

 代码如下 复制代码
#mysqldump -host=dbhost -user=username -password=password dbname > db.dump
mysql备份的恢复命令为:
#mysql -host=dbhost -user=username -password=password dbname < db.dump

3. 自动任务定时备份

先利用上面的命令写一个备份的脚本(比如/home/backup/backup.sh),然后用crontab -e命令来编辑定时任务,下面是第天01:30自动备份的例子

 代码如下 复制代码

30 01 * * * /home/backup/backup.sh

4.备份文件的命名

可以为每天的备份文件名上自动加入备份的时间,下面是一个示例的脚本:

 代码如下 复制代码

#! /bin/bash
curr=`date +%Y%m%d%H%M%S`
tar czvf backup_$curr.tar.gz dir1 dir2
mysqldump -host=dbhost -user=username -password=password dbname > db_$curr.dump

时间: 2024-08-03 16:03:19

Centos中crontab自动备份网站实现方法的相关文章

linux中VPS自动备份数据库实现方法

 代码如下 复制代码 #!/bin/bash D="/root/backup" T=`date +%Y%m%d` if [ ! -d "${D}/${T}" ]; then  /bin/mkdir "${D}/${T}" fi /usr/local/mysql/bin/mysqldump --host=localhost --user=root --password=数据库密码 要备份的数据库名 > "${D}/${T}/${T}

CentOS中crontab定时备份mysql数据库

1.编写备份数据库使用的shell脚本  代码如下 复制代码 vim /home/mysqlBack.sh #!/bin/bash MYSQL_USER=root MYSQL_PASS=root DATABASE=test FILE_NAME=$DATABASE.`date +%Y%m%d`.tar.gz TMP_FILENAME=$DATABASE.`date +%Y%m%d%H%M%S`.sql.gz #切换到文件存放的目录,防止在tar时,报警告信息:tar: Removing leadi

centos自动备份网站文件与mysql数据库脚本

案例一:shell+cron实现MySQL自动备份且自动删除N天前备份  代码如下 复制代码 #!/bin/sh DUMP=/usr/local/mysql/bin/mysqldump OUT_DIR=/home/ldl/xxx/backup/ LINUX_USER=ldl DB_NAME=ldl DB_USER=ldl DB_PASS=xxx #How much days backup most DAYS=1 #Core of script cd $OUT_DIR DATE=`date +%Y

Linux下自动备份网站及数据库并发送到邮箱/ftp

自动备份网站及数据库并发送到邮箱 1.SSH登录到VPS,进入到/home/backup目录,新建文件backup.sh,粘贴如下代码并保存: #!/bin/bash # 进入到备份文件夹 cd /home/backup # 创建存放备份文件和数据库的文件夹,并修改权限为777 mkdir -m 777 -p ./backup$(date +"%Y%m%d") # 将需要备份的文件复制到备份文件夹内 cp -r /home/wwwroot ./backup$(date +"%

FTP自动备份网站数据

第一步 新建FTP备份任务 下载并运行<绿色FTP数据备份>点击"FTP备份"按钮,选择"新建FTP备份任务",会弹出参数设置菜单,而后设置网站服务器的FTP用户名和密码.如果是虚拟主机用户,就需要填写空间提供商提供的FTP账号密码;有自有服务器的用户则需要自己使用serv-u等程序新建一个FTP用户.在"域名或IP地址选项"中,可以填写已经绑定IP地址的域名,也可以直接设置服务器的Ip地址.参数填写完成后,点击"连接&qu

Centos使用crontab定时任务自动备份网站

不需要什么专业的软件,使用centos自身的命令及服务就可以完成每天的自动备份. 下面说下常见的备份方法: 1. 文件备份 用tar命令压缩文件做备份: #tar -zcvf backup.tar.gz dir1 dir1为要备份的目录或者文件 备份恢复的命令: #tar -zxvf backup.tar.gz 2. 数据库备份 大多数数据库系统有命令支持数据库的备份和恢复. 比如mysql, 数据库的备份命令为:  代码如下 复制代码 #mysqldump -host=dbhost -user

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

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

Linux VPS主机定时自动备份网站及MYSQL数据库的脚本

从我们开始学习建站开始,不论我们是用免费的虚拟主机,还是省吃俭用购买的付费主机,以及我们在更大的项目需要转向VPS或者服务器存储:不论我们是不是技术科班出身,还是跟老左一样,看到网友们都有自己的网站于是热情澎湃的也搭建一个玩玩:不论我们的网站是大还是小,有盈利还是没有盈利,都要学会基本的自我维护,尤其是网站数据的备份.   我们不要过分的依赖和信任主机商给我们提供的备份,即便我们购买的很牛.很贵的服务商的产品,他们也可能会由于各种的可能性导致数据丢失或者奔溃的情况,我们可以选择定期手工备份或者用

教你利用网盘自动备份网站数据

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 俗话说"空间有价,数据无价",网站的文件和数据是我们站长日夜辛苦的结晶,我们会像自己的孩子一样呵护它们.可以在日常生活中,会有很多因素造成网站数据丢失,比如:服务商跑路.空间到期.黑客入侵.文件误删等.网站数据的丢失,会给站长带来毁灭性的打击,因此网站数据的备份显得格外重要.虽然很多服务商提供了每日自动备份或者每周自动备份