帮您减肥的Linux知识-计划任务

计划任务

温馨提示:可以把命令关键字,作为名字方便熟练命令

1、 以自己的名字创建一个普通用户,密码是:123.com。并以这个用户制定一个at计划: 要求在2020-09-15号删除/tmp/time.txt文件。

1)创建用户psef
在这里插入图片描述
2)创建测试文件
在这里插入图片描述
3)编辑计划任务配置文件
先查命令的绝对路径-编辑-Ctrl D 提交任务

在这里插入图片描述
注意:若果不报错,但是psef用户无法达到自动删除文件的效果,可能是权限问题。在/etc/下创建at.allow文件,输入此用户名,即可解决
在这里插入图片描述

4)验证,用root用户更改时间到指定日期,查看此文件,找不到,成功

设置系统时间
在这里插入图片描述
查看文件

在这里插入图片描述

2、 root身份,制定一个计划任务: 2021-09-12号开始到2021-09-15号 ,每隔5分钟发送一次本机的/var/log/message文件到/tmp目录下,并且message文件要加上具体时间。

1)编辑shell脚本
在这里插入图片描述

tar -zcP -f /tmp/log_$(date +%Y-%m-%d)''$(date +%H:%M:%S).tar.gz /var/log/messages
''之间有空格

2)编辑计划任务配置文件
在这里插入图片描述
3)验证,到预定时间会查看到此文件,注意:解压此文件带的是整个绝对路径
在这里插入图片描述
解压(/var/log/messages而不是messages)
在这里插入图片描述
3、设置本主机拒绝所有普通用户执行crontab周期性任务,仅允许以自己名字命名的用户执行at一次性任务。

更改配置文件:
在这里插入图片描述

验证:
其他用户,无权限。
在这里插入图片描述
使用允许权限用户psef登录,可以执行:
在这里插入图片描述

4、 从现在开始,/root用户每隔2个小时,打印一次时间信息到/tmp/time.txt文件中,怎样使第一题中的任务能成功执行。
1)编辑shell脚本

#!/bin/bash
echo " $(date +%Y-%m-%d)''$(date +%H:%M:%S) " >> /tmp/time.txt

2)创建计划任务

3)验证,调整系统时间到接近2小时候

在这里插入图片描述
5、从base01上,每月31号晚上3点钟,发送本主机的日志文件/var/log/messages到base02主机的/tmp/目录下,且要加上具体时间。必须先保证两个主机互通

设置免密登录

1)创建免密码登录用户

base02配置:

[root@localhost log]# vim /etc/ssh/sshd_config
在这里插入图片描述

2)base01配置

生成密钥对:
[root@localhost lib]# ssh-keygen -t ecdsa

上传到base02:
在这里插入图片描述
3)验证:在base01能登录到base02(192.168.2.2)
在这里插入图片描述
创建计划任务

编辑shell脚本,脚本还可以做优化,做条件测试,省略

#!/bin/bash
#create file upload 
tar -zcP -f /tmp/log_$(date +%Y-%m-%d)''$(date +%H:%M).tar.gz /var/log/messages
scp /tmp/log_$(date +%Y-%m-%d)''$(date+%H:%M).tar.gz root@192.168.2.2:/tmp

如图:
在这里插入图片描述

编辑计划任务配置文件
在这里插入图片描述
验证:调整系统时间到10月31日3:00
在这里插入图片描述
查看base02主机自动产生备份文件
在这里插入图片描述

扩展一:

1、编写一个sh脚本 放在/root目录下,脚本名称自定义。备份脚本用tar命令打包并压缩 /etc /var两个目录
在这里插入图片描述
添加以下内容:

#!/bin/bash
tar zcf /backup/bak$(date +%Y-%m-%d).tar.gz   /etc/  /var/

验证:
在这里插入图片描述

2、编写一个脚本 备份/var/log下 所有log结尾的文件,和messages系统日志文件。
在这里插入图片描述
在这里插入图片描述

3、在每周日晚上2点30分,全量备份整个/etc/ 和/var/log目录 到/backup目录下,要求压缩并打包成当前系统日期年月日,时分秒.tar.gz,平时周一到周六每天晚上12点只备份/var/log目录下所有以log结尾的文件,还有messages系统日志。

编辑脚本:
在这里插入图片描述
编辑计划任务配置文件:
在这里插入图片描述

4、编写一个脚本 查找当前系统内/var/log目录下,大于100mb的日志文件 使用dd命令造3个文件 1.log 2.log test.log 大于100m 自动定时清理 每个月的每周日晚上0点,清理var/log目录下所有大于100M的log结尾的文件。

1)创建测试文件
在这里插入图片描述
2)编辑shell脚本
在这里插入图片描述
添加以下内容:
在这里插入图片描述
不要忘了,设置执行权
在这里插入图片描述
3)创建计划任务
在这里插入图片描述
4)验证:调整时间,过几十秒查看
在这里插入图片描述
符合条件的文件被自动清理,查不到之前创建的测试文件

在这里插入图片描述
扩展二:

编写两个脚本 脚本

1、 写计划任务,每周日凌晨2点备份/var/log目录;周一到周六做增量备份 ,备份目录自定义。

分析:全量备份,先写脚本,到时间执行即可

1)创建备份目录
在这里插入图片描述
2)编辑备份shell脚本
在这里插入图片描述
3)创建计划任务
在这里插入图片描述

4)验证:调整系统时间到周日,查看备份文件
在这里插入图片描述
周一到周六做增量备份 ,备份目录自定义。

分析:增量备份,使用rsync只备份上次备份之后新增加的文件

1)创建备份源目录/test,备份目标目录/backup

如果系统安装了rsync服务则直接编辑脚本。

在这里插入图片描述
在这里插入图片描述
测试脚本
创建旧文件
在这里插入图片描述
执行脚本,查看备份目录
在这里插入图片描述
模拟新增文件,在测试目录test下创建文件,执行脚本,查看到备份了新增加的文件,提示:发送文件列表,只显示新增文件,证明,增量备份成功。
在这里插入图片描述
2)创建计划任务
在这里插入图片描述

2 、写一个一次性的备份 整个/etc目录的脚本 之后运行脚本, 并调整这个脚本的运行优先级别 要求优先级高。

1)编辑脚本:
在这里插入图片描述

在这里插入图片描述
2)由于优先级最高是0,默认当前运行的进程优先级是0,所以,调整命令验证不出效果

运行脚本,使用ps -ef | grep tar查看进程PID
在这里插入图片描述
命令top -p 4601 -H查看进程详细信息,进程PID是NI项,已经是最高0

在这里插入图片描述
以优先级为-20的为例,使用命令,可将其调到最高

在这里插入图片描述
验证:
在这里插入图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Friends of the wind

您的是我坚持原创免费作品的不懈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值