Linux crontab案例实验

发布时间:2024年01月23日

目录

实验一 编写脚本test1.sh,设置循环周期性任务

实验二?让系统在每周1凌晨6点重启一次

1、以QQ邮箱为例,先获取授权码

2、安装邮件服务

3、配置邮件服务?

4、测试邮件服务

5、设置定时任务

6、删除定时任务

实验三??

实验四?


实验一 编写脚本test1.sh,设置循环周期性任务

[root@server ~]# vim test1.sh

#!/bin/bash                    # 使用bash解释器来执行脚本
while :
do
    echo "this is my test sh"$(date) >> /root/cro.txt
    sleep 1
done


[root@server ~]# crontab -e
* * * * * sh /root/test1.sh

?crond服务是自动启动的,crontab命令只要保存退出后就会生效

[root@server ~]# crontab -l        # 查看任务
* * * * * sh /root/test.sh
[root@server ~]# crontab -r # 删除任务
[root@server ~]# crontab -l # 查看列表
no crontab for root
[root@server ~]# ps -aux | grep test1        # 终止循环
[root@server ~]# kill 进程号

实验二?让系统在每周1凌晨6点重启一次

[root@server ~]# crontab -e
0 6 * * 1 /sbin/shutdown -r now

实验三?设置邮件发送告警功能,每1分钟发送一封邮件

1、以QQ邮箱为例,先获取授权码

开启pop3/SMTP 服务,复制授权码

2、安装邮件服务

安装邮件服务
[root@server ~]# yum install mailx -y

3、配置邮件服务?

配置邮件服务:
[root@server ~]# vim /etc/mail.rc


# 在最后一行添加以下内容:
set from=17674044@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=17674044@qq.com
set smtp-auth-password=do***cvqdubqbibj
set smtp-auth=login

4、测试邮件服务

[root@server ~]# echo "testmail" | mail -s "testmail" 17674044@qq.com

5、设置定时任务

[root@server ~]# crontab -e
MAILTO=17674044@qq.com
* * * * * echo "警告,SERVER服务器内存较低,速处理" | mail -v -s "告警邮件"
17674044@qq.com

6、删除定时任务

????????crontab -r

实验三??

编写脚本testcrontab.sh,将时间写入/t1.txt文件中, 每周二11点循环执行

[root@server ~]# vim testcrontab.sh

#!/bin/bash
date >> /t1.txt
[root@server ~]# vim /etc/crontab

0 11 * * 2      root        /bin/bash   /root/testcrontab.sh

实验四?

每天6:00点将日志/var/log/messages 文件备份 到/backup目录中,备份后的日志文件名修改为 logfileYYYY-MM-DD-HH:MM:SS

[root@server ~]# mkdir /backup # 新建目录
[root@server ~]# vim /etc/crontab # 编辑系统计划任务

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
  6  *  *  *  *  root   /bin/cp  /var/log/messages   /backup/logfile`date +\%Y-\%m-\%d-\%H:\%M:\%S`


# 反引号`` 表示将引起的内容识别为命令
# 在crontab系统中%表示换行,需要增加转义符\

文章来源:https://blog.csdn.net/weixin_68256171/article/details/135756620
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。