需求: 批量新建5个用户stu1~stu5, 要求这几个用户的家目录都在/rhome 并统一加一个新组,组名为class,统一改密码为123 思路: 添加用户的命令 判断class组是否存在 根据题意,判断该脚本循环5次来添加用户 添加用户的时候使用 -d 添加家目录 -G 添加组 给用户设置密码,应该放到循环体里面
#!/bin/bash echo "1. Group " grep -w class /etc/group &>/dev/null if [ $? -eq 0 ];then echo "Group [class] exist" else groupadd class [ $? -eq 0 ] && echo "Group [class] create ok" || "Group [class] create failed" fi echo '2. User' for count in {1..5} do username="stu$count" id $username &> /dev/null if [ $? -eq 0 ];then echo "User $username exist" else useradd -G class -d /rhome $username echo "User $username create success" echo 123 | passwd --stdin $username fi done
代码如下(示例):
1. 项目具体需求 写一个脚本,30秒同步一次系统时间,时间同步服务器(自己搭建) 如果同步失败,则进行邮件报警,每次失败都报警 同步成功,也进行邮件通知,但是成功100次才通知一次 2. 项目思路 每个30s同步一次时间,该脚本是一个死循环 同步失败发送邮件 同步成功100次发送邮件 #成功发送邮件的操作准备 #1. install package:mailx、sendmail、postfix; #2. start postfix service:systemctl start postfix 、 systemctl enable postfix #3. echo "systemctl date success" | mail -s "time status" root #!/bin/bash sucessCount=0 while true do echo "Checking system date......" chronyc sources | grep '^*' &> /dev/null if [ $? -eq 0 ];then let sucessCount++ if [ $sucessCount -eq 100 ];then echo "system date sucess" | mail -s "check system date" root sucessCount=0 fi else echo "system date failed" | mail -s "check system date" root sucessCount=0 fi sleep 30 done
以上
