Linux crontab案例实验

目录

实验一 编写脚本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邮箱为例,先获取授权码

Linux crontab案例实验_第1张图片

Linux crontab案例实验_第2张图片

Linux crontab案例实验_第3张图片

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

Linux crontab案例实验_第4张图片

2、安装邮件服务

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

3、配置邮件服务 

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


# 在最后一行添加以下内容:
set [email protected]
set smtp=smtp.qq.com
set [email protected]
set smtp-auth-password=do***cvqdubqbibj
set smtp-auth=login

4、测试邮件服务

[root@server ~]# echo "testmail" | mail -s "testmail" [email protected]

5、设置定时任务

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

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系统中%表示换行,需要增加转义符\

你可能感兴趣的:(RHCE,linux,运维,服务器,open,Euler)