shell脚本学习笔记汇总

1、history命令带上时间和用户

export HISTTIMEFORMAT="%F %T `whoami` "

2、设置时区并同步时间的定时任务

命令:
ntpdate time.windows.com
定时任务脚本:
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
if ! crontab -l |grep ntpdate &>/dev/null ; then
 (echo "* 1 * * * ntpdate time.windows.com >/dev/null 2>&1";crontab -l) |crontab 
fi

3、设置ssh登陆超时时间

if ! grep "TMOUT=600" /etc/profile &>/dev/null; then
 echo "export TMOUT=600" >> /etc/profile
fi

4、发送系统告警邮件

1、先安装 mailx 软件:
yum install mailx -y

2、修改软件的配置文件:
vim /etc/mail.rc

3、最下面填写邮箱信息:
set from=pan_zhongjian@hoperun.com smtp=smtp.hoperun.com
set smtp-auth-user=pan_zhongjian@hoperun.com smtp-auth-password=Pan123456
set smtp-auth=login

4、发送测试邮件命令:
echo "这是个测试邮件!" |mail -s "monitor" 406662248@qq.com

5、注意,对应的邮箱服务器需要开启SMTP服务才可以发送

5、批量创建用户

脚本代码:
#!/bin/bash
USER_LIST=$@
USER_FILE=user.txt
for USER in $USER_LIST; do
 if ! id $USER &>/dev/null; then
     PASS=$(echo $RANDOM |md5sum |cut -c 1-8)
     useradd $USER
     echo $PASS |passwd --stdin $USER &>/dev/null
     echo "$USER   $PASS" >> $USER_FILE
     echo "$USER User create successful."
 else
     echo "$USER User already exists!"
 fi
done

使用方法:
chmod +x xxx.sh   #给xxx.sh文件可执行权限
./xxx.sh zhangsan lisi wangwu wocao

6、Linux四剑客 find、grep、awk、sed

find:查找文件用的,比如,按照文件名,文件类型,文件时间来查找某个目录下的文件等
	-exec:他是 find 函数的参数,类似于管道符的作用,把前面命令的执行结果传给后面的语句进行执行使用
	
grep:检索文本内容用的,比如在某个文本中检索某个字符串的位置等
	-E: grep 的参数, grep -E =  egrep 按照正则表达式进行过滤查找
    
awk:把文本内容查找成表格形式,用空格分隔列,这样就可以查找某一行某一列的类容
	-F: awk 的参数,用于按照给定字符分隔查找的结果,经常二者配合使用

sed:系统自动化操作文本的命令,它可以减去交互过程
	-i: sed 的参数,写入的参数
	-e: sed 的参数,修改输出终端

对于非运维的开发人员,学会这么写应该很实用了,无需再花费过多的时间去学习shell脚本了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值