当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux centos下设置定时备份任务的方法步骤

    栏目:Linux/apache问题 时间:2019-10-16 09:22

    实现准备

    # 需要备份文件路径:/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
    

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。