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
    
  • 相关阅读:
    mysqlp批量替换的sql语句
    Paypal 支付功能的 C# .NET / JS 实现
    Layui table 组件的使用:初始化加载数据、数据刷新表格、传参数
    WinForm DataGridView 绑定泛型List(List<T>)/ArrayList不显示的原因和解决
    entity framework codefirst 用户代码未处理DataException,InnerException基础提供程序在open上失败,数据库生成失败
    《设计模式》一书中的23种设计模式
    C++程序实例唯一方案,窗口只打开一次,程序只打开一次
    重构——与设计模式的恋情
    重构——一个小例子
    C#通过调用WinApi打印PDF文档类,服务器PDF打印、IIS PDF打印
  • 原文地址:https://www.cnblogs.com/apollo1616/p/10296301.html
Copyright © 2011-2022 走看看