zoukankan      html  css  js  c++  java
  • 备份日志

    小明是一个服务器管理员,他需要每天备份论坛数据(这里我们用日志替代),备份当天的日志并删除之前的日志。而且备份之后文件名是年-月-日的格式。alternatives.log在/var/log/下面。

    目标

    1. 为shiyanlou用户添加计划任务
    2. 每天凌晨3点的时候定时备份alternatives.log到/home/shiyanlou/tmp/目录
    3. 命名格式为年-月-日,比如今天是2017年4月1日,那么文件名为2017-04-01

    提示

    • date
    • crontab
    • cp(备份)
    • 用一条命令写在crontab里面即可,不用写脚本

    注:如果fail没有任何提示信息,请刷新一下页面。注意crontab的计划用户者

    crontab -e 表示为当前用户添加计划任务
    sudo crontab -e 表示为root用户添加计划任务

    ANSWER

    1. 启动日志服务器

     
    sudo service rsyslog start  
    

      

    在实验楼实验环境中需要手动启动,而在自己本地中 Ubuntu 会默认自行启动不需要手动启动

    2. 启动crontab服务

    sudo cron -f & 
    

      

    在实验楼实验环境中需要手动启动,而在自己本地中 Ubuntu 会默认自行启动不需要手动启动

    3. 进入crontab文件

    crontab -e  
    

      

    vim编辑器选择“1”

    /usr/bin/select-editor: 32: /usr/bin/select-editor: gettext: not found
    1-3 []: 1

     

    命令

    4. 编辑内容

     
    0 3 * * * cp /var/log/alternatives.log /home/shiyanlou/tmp/$(date+ \%Y\%m\%d)
    

      

    “:wq”保存并退出

    crontab文件

    NOTES

    1. cp用法

    cp  [opt]  SOURCE源  DIRETORY目的地

    2. [crontab] "bad minute" 及 "errors in crontab file, can't install" 错误处理

    根本原因是crontab文件中时间定义不正确导致的

    ①报错信息

    "/tmp/crontab.B8TDnC/crontab":0: bad minute

    errors in crontab file, can't install.

    Do you want to retry the same edit? (y/n)

    ②关于crontab文件中时间定义,crontab文件的注释写的很清楚

    # For example, you can run a backup of all your user accounts

    # at 5 a.m. every week with:

    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

    # For more information see the manual pages of crontab(5) and cron(8)

    # m h  dom(day of month) mon(month) dow(day of week)  command

    ③crontab时间格式内容

    *    *    *    *    *    command
    M  H   D  m  d    command

    第1列表示分钟1~59 每分钟用*或者 */1表示

    第2列表示小时1~23(0表示0点)

    第3列表示日期1~31

    第4列表示月份1~12

    第5列标识号星期0~6(0表示星期天)

    第6列要运行的命令或脚本内容

    REFRESNCES

    1. 关于解题思路

    2. 关于crontab报错及解决

  • 相关阅读:
    【Kubernetes学习笔记】-kubeadm 手动搭建kubernetes 集群
    教你快速搭建NFS服务
    【Kubernetes学习笔记】-服务访问之 IP & Port & Endpoint 辨析
    【Kubernetes学习笔记】-使用Minikube快速部署K8S单机学习环境
    Linux RDP 会话中无法打开VSCode 解决办法
    Jenkins 凭证管理
    linux 后台运行进程:& , nohup
    使用私有gitlab搭建gitbook持续集成
    VS Code 使用
    Markdown Rules 详解
  • 原文地址:https://www.cnblogs.com/Reindeer/p/9021008.html
Copyright © 2011-2022 走看看