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
    
  • 相关阅读:
    lnmp下如何建立svn版本库
    解决更新本地svn版本库,提示:工作副本已锁定 问题
    请不要在意
    ecshop在lbi库文件中添加广告位的方法(转载,试过了确实可以添加成功)
    Jquery AjaxUpload实现文件上传
    js提交表单错误:document.form.submit() is not a function
    kindeditor的使用方法
    phpcmsv9整合ucenter经验分享
    替换字符串sql语句
    初生牛犊之spring(二)
  • 原文地址:https://www.cnblogs.com/apollo1616/p/10296301.html
Copyright © 2011-2022 走看看