运维中常用shell脚本

 1.写一个脚本实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符

#!/bin/bash
#description: useradd
for i in seq 1 20
do
pwd=$(cat /dev/urandom | head -1 | md5sum | head -c 5)
useradd user$i
echo "user$i$pwd" | passwd --stdin user$i
echo user$i user$i$pwd" >> userinfo.txt
done

2.杀死进程 http shell 脚本
pid=`pgrep httpd`
for i in $pid
do
kill -9 $i
done

3.利用 shell 开发一个 rsync 服务的启动停止脚本并通过 chkconfig 进行开关机管理
说明:
A rsync 服务的 PID 文件路径为: /var/run/rsyncd.pid
C rsync 服务的停止命令为: kill -USR2 `cat /var/run/rsyncd.pid` && rm -f
/var/run/rsyncd.pid
启动脚本
#!/bin/bash
#
#
# Define variables
RETVAL=0
Pid=/var/run/rsyncd.pid
# Determine the user to execute
if [ $UID -ne $RETVAL ];then
echo "Must be root to run scripts"
exit 1
fi
# Load the local functions library
[ -f /etc/init.d/functions ] && source /etc/init.d/functions
# Define functions
start(){
if [ ! -f "$Pid" ];then
rsync --daemon
RETVAL=$?
if [ $RETVAL -eq 0 ];then
action "Start rsync service" /bin/true
else
action "Start rsync service" /bin/false
fi
else
echo "Rsync is running"
exit 1
fi
return $RETVAL
}
stop(){
if [ -f "$Pid" ];then
kill -USR2 $(cat $Pid)
find /var/run -maxdepth 1 -type f -name "rsyncd.pid"|xargs rm -f
RETVAL=$?
if [ $RETVAL -eq 0 ];then
action "Stop rsync service" /bin/true
else
action "Stop rsync service" /bin/false
fi
else
echo "Rsync is not running"
exit 1
fi
return $RETVAL
}
status(){
if [ -f "$Pid" ];then
echo "Rsync is running"
elseecho "Rsync is not running"
fi
return $RETVAL
}
# Case call functions
case "$1" in
start)
start
RETVAL=$?
;;
stop)
stop
RETVAL=$?
;;
restart)
stop
sleep 2
start
RETVAL=$?
;;
status)
status
RETVAL=$?
;;
*)
echo "USAGE:$0 {start|stop|restart|status}"
exit 1
esac
# Scripts return values
exit $RETVAL

4 、写一个脚本,实现判断 192.168.1.0/24 网络里,当前在线的 ip 有哪些。
#!/bin/bash
for ip in `seq 1 255`
do
{
ping -c 1 192.168.1.$ip > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo 192.168.1.$ip UP
else
echo 192.168.1.$ip DOWN
fi
}&
done
wait

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值