shell之备份日志

本文介绍了如何利用shell命令crontab来实现系统的日志文件每日备份,详细讲解了crontab的常用选项,并探讨了日志备份的具体实施方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先介绍命令crontab
常用选项

-u:表示指定某个用户,不加-u选项则为当前用户
-e:表示指定任务计划
-l:表示列出任务计划
-r:表示删除任务计划
[root@localhost ~]# crontab -e
crontab: no changes made to crontab
#输入如下内容:
0  2  * * * echo 'ok' > /root/cron.log
分 时 日 月 周

crontab -e实际上是打开了/var/spool/cron/username文件,但在编辑时必须使用crontab -e编辑


简介

作为系统管理员,小楼收到一个需求,需要每天备份系统当天的部分日志文件,日志备份的需求描述如下:

为 shiyanlou 用户添加计划任务
每天凌晨2点的时候定时打包 /var/log 下的 dpkg.log,mysql.log,fontconfig.log 三个文件到 /home/shiyanlou/backup/ 目录
命名格式为 年-月-日.tar,比如今天是2017年10月23日,那么文件名为2017-10-23.tar,若有重名则覆盖

目标

为 shiyanlou 用户添加计划任务
计划任务要执行的命令中不要使用额外的脚本,直接执行相关命令
备份命令执行时需要将三个文件打包成 tar 包,并存储到 /home/shiyanlou/backup 目录下

提示语

date
crontab
cp

知识点

linux计划任务
linux文件备份和打包
首先启动cron并放在后台执行
sudo cron -f &
crontab -eu shiyanlou #添加任务
#在打开的文件中输入
 0 2 * * * tar -cf a.tar /var/log/dpkg.log /var/log/mysql.log /var/log/fontconfig;cp a.tar /home/shiyanlou/backup/$(date +\%Y-\%m-\%d).tar
 #保存即可 
注意
“ % ” 在 crontab 文件中,有结束命令行、换行、重定向的作用,
前面加 ” \ ” 符号转义,否则,
“ % ” 符号将执行其结束命令行或者换行的作用,
并且其后的内容会被做为标准输入发送给前面的命令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值