备份日志

Posted 绵绵思远道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了备份日志相关的知识,希望对你有一定的参考价值。

小明是一个服务器管理员,他需要每天备份论坛数据(这里我们用日志替代),备份当天的日志并删除之前的日志。而且备份之后文件名是年-月-日的格式。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报错及解决

 

以上是关于备份日志的主要内容,如果未能解决你的问题,请参考以下文章

argparse 代码片段只打印部分日志

常用python日期日志获取内容循环的代码片段

python分析apache和nginx日志文件输出访客ip列表的代码

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

定时备份日志数据(MySQL版)

备份你自己的snipplr.com网站片段