一、 编写脚本
编写一个脚本文件,使脚本可以执行备份命令。 
例如,将文件目录 /home/backups/balalala 备份到/home目录下,并压缩。
1. 创建脚本
命令格式: touch 路径/文件名.sh 
例如: 
输入命令:touch /home/backup.sh

2. 写入命令
首先进入脚本:vi命令 
vi /home/backup.sh 
在脚本内写入:
 #! /bin/sh
 mkdir /home/plantask/temp
 #创建一个临时文件 保存备份的路径
 cp -r /www/xilan /home/plantask/temp
 #数据存在plantask目录下,备份到temp目录下,所以先将数据拷过来
 tar -zcPvf /www/backups/xilan$(date +%Y%m%d%H%M%S).tar.gz /home/plantask/temp  -->时间精确到毫秒
 #将数据所在文件夹plantask打包
 rm -rf /home/plantask/temp
  
 find ./ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;
 #删除改文件夹下超过30天的文件

3. 执行脚本文件
直接手动执行脚本文件。 
命令格式:sh 路径/文件名.sh 
例如:sh /home/backup.sh

有时候会出现find:未知的断言"-name *.tar.gz -exec rm",

把最后一行重新写下或者再拷贝一个改下就好了,至于什么原因,暂时没找出来,对比了报错之前的内容,也没看出来有什么区别,希望大神看到了给解答下。

find /home/bkebpaper/ -mtime +1 -name "*.tar.gz" -exec rm -rf {} \;

二、 设置定时执行本脚本。
例如:设置脚本每7天执行一次。
1. 安装crond
如果没有安装crond服务就先装上服务。 
检查服务状态:service crond status
2. 修改crontab内容
输入命令:crontab –e 
进入后继续输入命令:0 0 /7 *  sh /home/backup.sh   ---->一定要加上sh命令

设置为每7天执行一次脚本文件 
然后,保存退出:wq
 0 */1 * * * sh /home/plantask/backup.sh  #每小时执行一次
 */1 * * * * sh /home/plantask/backup.sh #每分钟执行一次 用于调试

sh脚本前面五个字段分别表示分钟(0-59)、小时(0-23)、日(1-31)、月(0-12)、星期几(0-6)后面的为脚本所在目录   --->一定要加上sh命令

3. 重新启动crond服务
输入命令:service crond restart
至此配置完成!

**************************************************************************************************

安装crontab:
[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs
说明:
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
//+++++++++++++++++++++++++++++++++++
cron 是linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start
查看crontab服务是否已设置为开机启动,执行命令:ntsysv
加入开机自动启动:
chkconfig --level 35 crond on

*************************************************************************

1,crontab命令

功能说明:设置计时器。

语  法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]

补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command

参  数: 
 -e  编辑该用户的计时器设置。 
 -l  列出该用户的计时器设置。 
 -r  删除该用户的计时器设置。 
 -u<用户名称>  指定要设定计时器的用户名称。

2,crontab 格式

基本格式 :
* *  *  *  *  command
分 时 日 月 周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache

*/30 * * * * /usr/sbin/ntpdate 210.72.145.44
每半小时同步一下时间

crontab命令主要有3个参数:

  -e :编辑用户的crontab。

  -l :列出用户的crontab的内容。

  -r :删除用户的crontab的内容。

  执行crontab -e,将自动打开编辑器,你可以编辑自己的crontab文件,语法和 /etc/crontab 文件一样,不同的只是,不必再指出执行的用户,编辑后保存即可。

  crontab -l用来查看自己的crontab文件内能,crontab -r删除自己的crontab。

CentOS安装crontab 定时备份文件夹的更多相关文章

  1. CentOS安装crontab及使用方法(转)

    CentOS安装crontab及使用方法(转)    安装crontab:[root@CentOS ~]# yum install vixie-cron[root@CentOS ~]# yum ins ...

  2. CentOS安装crontab及使用方法

    crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于 “crontab”文件中,以供之后读取和执行.通常,crontab储 ...

  3. 【转载】CentOS中crontab定时计划任务的使用

    转载自:http://blog.csdn.net/testcs_dn/article/details/48780971 概述 利用“任务计划”,可以将任何脚本.程序或文档安排在某个最方便的时间运行.通 ...

  4. centos 安装 crontab 和 简单的使用教程

    crontab是一个非常好用的定时执行任务的程序.以下是操作方式 1. 安装 cron 的 主程序 : yum -y install vixie-cron 2. 安装 cron 守护进程的表格的程序  ...

  5. CentOS安装crontab及使用方法(汇总多人博客并实践确认无误)

    安装centOS: yum -y install vixie-cron --该软件包是cron的主程序 yum -y install crontabs--该软件包用来安装.卸载或者列举需要cron来守 ...

  6. centos安装crontab:

    # yum install vixie-cron # yum install crontabs /sbin/service crond start //启动服务/sbin/service crond ...

  7. centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课

    centos  lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress  安装phpmyadmin  定时备份mysql两种方法  第二十五节 ...

  8. centos下yum安装crontab+mysql自动备份

    参考博文: centos下yum安装crontab yum install vixie-cron crontabs      //安装 chkconfig crond on               ...

  9. 在CentOS下安装crontab服务

    1. 确认crontab是否安装: 执行 crontab 命令如果报 command not found,就表明没有安装 2. 安装 crontab 执行 yum install -y vixie-c ...

随机推荐

  1. 雷林鹏分享:C# 集合(Collection)

    C# 集合(Collection) 集合(Collection)类是专门用于数据存储和检索的类.这些类提供了对栈(stack).队列(queue).列表(list)和哈希表(hash table)的支 ...

  2. byte[]数组与十六进制字符串与字符串的互相转换 ——转载

    https://www.cnblogs.com/lelehellow/p/6369631.html

  3. 在WPF中添加Windows Form控件(包括 ocx控件)

      首先,需要向项目中的reference添加两个dll,一个是.NET库中的System.Windows.Forms,另外一个是WindowsFormsIntegration,它的位置一般是在C:\ ...

  4. python模块——re模块(简单的计算器功能实现_eval版)

    #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = "loki" # Usage: Make a Diy Calcu ...

  5. 20170711筛选OutLook主题并转发

    Sub 筛选OutLook主题并转发() On Error Resume Next Dim OutApp As Application Set OutApp = Application Dim Out ...

  6. Android之ToolBar的使用

    Toolbar是在 Android 5.0 开始推出的一个 Material Design 风格的导航控件 ,Google 非常推荐大家使用 Toolbar 来作为Android客户端的导航栏,以此来 ...

  7. Lunar New Year and Red Envelopes CodeForces - 1106E (dp)

    大意: 总共$n$的时间, $k$个红包, 红包$i$只能在时间$[s_i,t_i]$范围内拿, 并且拿完后时间跳到$d_i+1$,Bob采用贪心策略,每个时间点若有红包能取则取钱数$w_i$最大的, ...

  8. UVA-10273 Cyborg Genes (DP)

    题目大意:给两个字符串a.b,找出一个最短的字符串c,使得这两个字符串都是c的子序列.只需找出p的最小长度和最小长度时的个数. 题目分析:与LCS问题类似.最小长度的状态转移方程,dp(i,j)=mi ...

  9. Oracle11g温习-第三章:instance实例管理

    2013年4月27日 星期六 10:30 1.instance 功能:   用于管理和访问database. 2.init parameter files :管理实例相关启动参数.位置:$ORACLE ...

  10. dubbo的请求、响应对

    dubbo中的请求和响应是如何关联起来的呢? 每一个请求和响应共用同一个id. public class DefaultFuture implements ResponseFuture { // in ...