shell练习:使用脚本同步系统时间 + hello world

练习1:Shell脚本同步系统时间

1.要求

  • 写一个脚本,30秒同步一次系统时间
  • 自行搭建时间同步服务器
  • 如果同步失败,就进行邮件报警,每次失败就报警
  • 如果同步成功,也进行邮件通知,但是成功100次才通知一次

2.思路分析

  • 针对30秒倒计时我们可以使用sleep 30,并且每个30s同步一次时间,表示该脚本是个死循环
  • 时间同步服务(chrony)

3.代码

#!/bin/bash

successCount=0
while true
do
        echo "Checking system date......"
        chronyc sources | grep '^*' &> /dev/null
        if [ $? -eq 0 ];then
                let successCount++
                if [ $? -eq 0 ];then
                        echo "system date success" | mail -s "check system date" root
                        successCount=0
                fi
        else
                echo "system date failed" | mail -s "check system date" root
                successCount=0
        fi
        sleep 5		##使用5是因为时间短,方便查看邮件的发送
done
     

shell练习:使用脚本同步系统时间 + hello world_第1张图片

4.结果

此处显示同步失败会发送邮件
shell练习:使用脚本同步系统时间 + hello world_第2张图片

练习2:hello world

1.要求

  • 当输入hello时,显示world
  • 当输入world时,显示hello
  • 如果都没有输入,则显示keyin hello or world

2.代码

 #!/bin/bash
 
 read -p "keyin: " name
 
 case $name in
         hello)
                 echo world
                 ;;
         world)
                 echo hello
                 ;;
         *)
                 echo "keyin hello or world"
                 ;;
 esac

shell练习:使用脚本同步系统时间 + hello world_第3张图片

3.结果

shell练习:使用脚本同步系统时间 + hello world_第4张图片

你可能感兴趣的:(shell脚本练习)