zoukankan      html  css  js  c++  java
  • Linux centos下设置定时备份任务

    实现准备

    # 需要备份文件路径:/opt/apollo/logs/access_log
    [root@localhost opt]# cd apollo/
    [root@localhost apollo]# tree
    .
    ├── logs
    │   └── access_log
    └── test.sh
    # 文件备份存放路径:/tmp/logs
    # 备份文件加上时间戳date + %Y%m%d%H%M%S
    

    1.编写shell脚本

    [root@localhost tmp]# vi /opt/apollo/test.sh
    # 编译器
    # !/bin/bash
    
    # 日志备份到该目录下,定义变量使用单引号
    mypath='/tmp/logs'
    # 回应/tmp/logs
    echo ${mypath}
    
    # 要备份的日志
    mylog='/opt/apollo/logs/access_log'
    # 回应/opt/apollo/logs/access_log
    echo ${mylog}
    
    # 时间戳,执行命令使用``,esc下面的
    time=`date +%Y%m%d%H%M%S`
    # 回应时间戳
    echo ${time}
    
    # 备份日志access_log到/tmp/logs路径下
    cp ${mylog} ${mypath}/${time}_access.log
    # 回应
    echo ${mypath} ${mypath}/${time}_access.log
    

    2.执行test.sh

    [root@localhost apollo]# ./test.sh
    -bash: ./test.sh: Permission denied
    

    3.执行ls -la

    [root@localhost apollo]# ls -la
    total 8
    drwxr-xr-x   2 root root   21 Jan 20 08:00 .
    drwxr-xr-x. 14 root root 4096 Jan 20 07:07 ..
    -rw-r--r--   1 root root  489 Jan 20 08:00 test.sh
    

    4.给文件test.sh赋与执行权限

    [root@localhost apollo]# chmod +x ./test.sh
    [root@localhost apollo]# ls -la
    total 8
    drwxr-xr-x   2 root root   21 Jan 20 08:00 .
    drwxr-xr-x. 14 root root 4096 Jan 20 07:07 ..
    -rwxr-xr-x   1 root root  489 Jan 20 08:00 test.sh
    

    5.再次执行,脚本没有报错

    [root@localhost apollo]# ./test.sh
    /tmp/logs
    /opt/apollo/logs/access_log
    20190120080932
    /tmp/logs /tmp/logs/20190120080932_access.log
    

    6.编辑定时任务

    [root@localhost logs]#  crontab -e
    no crontab for root - using an empty one
    crontab: installing new crontab
    

    7.查看定时任务

    # 每分钟执行一次test.sh
    * * * * * sh /opt/apollo/test.sh
    

    8.重启crond

    [root@localhost logs]# service crond reload
    Redirecting to /bin/systemctl reload crond.service
    You have new mail in /var/spool/mail/root
    

    9.编写文件access_log

    # 需要备份文件路径:
    /opt/apollo/logs/access_log
    # 编辑文件
    [root@localhost logs]# vi /opt/apollo/logs/access_log
    # 追加内容如下:
    mmmmmmmmmmmmmmmmmmmmm
    

    10.过1分钟,再去查备份存放目录

    [root@localhost logs]# cat 20190120083101_access.log
    djddjsjsjsjjsjsjsj
    mmmmmmmmmmmmmmmmmmmmm
    

    11.到此为止,定时备份任务完成.

    恭喜你,学会备份了!
    

    12.删除定时任务

    [root@localhost logs]# crontab -r
    You have new mail in /var/spool/mail/root
    

    13.查看定时任务

    [root@localhost logs]# crontab -l
    no crontab for root
    
  • 相关阅读:
    Mysql 从库的备份中恢复一张表
    my.cnf 配置文件参数解释
    利用mvn deploy命令上传包(转)
    IntelliJ IDEA 项目文件旁边都有0%classes,0% lines covered
    idea启动java Maven项目,出现" java: 程序包xxxx不存在"
    org/apache/poi/POIXMLTypeLoader或者java.lang.NoSuchFieldError: RETURN_NULL_AND_BLANK
    elasticsearch,kibana,logstash.下载
    idea显示 RunDashboard ,多个启动项时列表显示
    写for循环快捷生成方式
    Could not transfer artifact xxx from/to xxx解决方案
  • 原文地址:https://www.cnblogs.com/apollo1616/p/10296301.html
Copyright © 2011-2022 走看看