在LIUNX下的文件定时备份操作

一、编写脚本

编写一个脚本文件,使脚本可以执行备份命令。
例如,将文件目录 /home/XXX/apache/xxx 备份到/home/bf目录下,并压缩。

1、创建脚本

命令格式: touch 路径/文件名.sh
例如:
输入命令:touch /home/bf/backup.sh
在这里插入图片描述

2、编写脚本

首先进入脚本:vi命令

vi /home/bf/backup.sh 

在脚本内写入:

#!/bin/sh
mkdir /home/beifenwj
#创建一个临时文件(要保存备份的路径)
cp -r /home/XXX/apache/xxx  /home/beifenwj
#数据存在bf目录下,备份到beifenwj目录下,所以先将数据拷过来
tar -zcPvf /home/bf/backup$(date +%Y%m%d).tar.gz /home/beifenwj
 #将数据所在文件夹beifenwj打包
rm -rf /home/beifenwj/
 #删除临时文件内容
find ./ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;
#删除改文件夹下超过30天的文件-----此条信息博主未验证,请谨慎使用

3、执行脚本文件

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

二、 设置定时执行本脚本(通过crond执行定时任务)。

1、先检查系统是否安装crond

[root@localhost]#rpm -qa|grep cron

[root@localhost]#

经检查,系统并未安装cron

2、crond联网下载

yum install crontabs

3、查看crond服务是否运行

ps -ef|grep crond 或者 service crond status

4、crond服务操作命令

/sbin/service crond start //启动服务  
/sbin/service crond stop //关闭服务  
/sbin/service crond restart //重启服务  

/sbin/service crond reload //重新载入配置

5、设置crond开机自动启动

查看crond是否开机自动启动:

$ chkconfig --list crond

设置crond开机自动启动:

$ chkconfig --level 35 crond on

6、设置定时执行(定时执行上面定义的脚本文件)

输入命令:crontab –e
进入后继续输入命令:0 0 /7 * * sh /home/bf/backup.sh
设置为每7天执行一次脚本文件
然后,保存退出:wq

重启crond服务:/sbin/service crond restart //重启服务

7、crond 参数说明

基本格式 :
*  *  *  *  *  command 
分  时  日  月  周  命令 
解 释:1列表示分钟159 每分钟用或者 /1表示 
第2列表示小时1230表示0点) 
第3列表示日期1314列表示月份1125列标识号星期060表示星期天) 
第6列要运行的命令

三、crontab不执行问题分析

  1. 当我们手动执行脚本成功而crontab配置定时任务不能执行脚本的时候,很有可能就是执行环境的问题,例如相关路径的设置问题。解决方案:在脚本代码最前面执行 source /home/user/.bash_profile
  2. 脚本是否有可执行权限。必须保证执行脚本的用户有执行改文件的权限。
  3. 系统时间不正确。解决方案:date -s ********
  4. crond没有启动
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值