linux实训-备份日志

题目

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

 

目标

1. 为shiyanlou用户添加计划任务

2. 每天凌晨3点的时候定时备份alternatives.log到/home/shiyanlou/tmp/目录

3. 命名格式为年-月-日,比如今天是2017年4月1日,那么文件名为2017-04-01

 

提示

1. date

2. crontab

3. cp(备份)

4. 用一条命令写在crontab里面即可,不用写脚本

5. 注意crontab的计划用户者

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

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

 

ANSWER

1. 启动日志服务器

[plain] view plain copy

$ sudo service rsyslog start 

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

 

2. 启动crontab服务

[plain] view plain copy

$ sudo cron -f & 

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

 

3. 进入crontab文件

[plain] view plain copy

$ crontab -e 

vim编辑器选择“1”

编辑内容

[plain] view plain copy

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

“:wq”保存并退出

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 allyour 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 pagesof 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列要运行的命令或脚本内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值