shell脚本的一些特定的语句

1.当前系统前一个小时,天,月的输入格式

0.1.一小时前
date +"%Y%m%d%H" -d “-1 hour”
0.2.几天前这种写法

date7=`date -d "- 7 days" +"%Y-%m-%d"`
date6=`date -d "- 6 days" +"%Y-%m-%d"`
date5=`date -d "- 5 days" +"%Y-%m-%d"`
date4=`date -d "- 4 days" +"%Y-%m-%d"`
date3=`date -d "- 3 days" +"%Y-%m-%d"`
date2=`date -d "- 2 days" +"%Y-%m-%d"`
date1=`date -d "- 1 days" +"%Y-%m-%d"`

0.3. 几分钟之前

[root@localhost ~]# date "+%H:%M:%S" 
16:04:45
[root@localhost ~]# date "+%H:%M:%S" -d "-5 minutes"
15:59:50
[root@localhost ~]# date -d"1 day ago" +%Y-%m-%d
2019-01-17
[root@king ~]# date +\ %H:%M
 15:46
  • 对应 时间的那个 + 写在"" 内和 “” 外都是一样的。
[root@king ~]# date "+%H:%M" -d "-5 minutes"
11:10
[root@king ~]# date +"%H:%M" -d "-5 minutes"
11:11

  • 关于在shell脚本中获取上个月最后一天的日期方法
[root@king ~]# date -d"$nowdate last month" +%Y%m%d       ## 上个月的最后一天
20190302
[root@king ~]# date -d"$nowdate last month" 
2019年 03月 02日 星期六 16:10:18 CST

[root@king ~]# date -d"$nowdate last year" 
2018年 04月 02日 星期一 16:10:56 CST

[root@king ~]# date -d"$nowdate last day" 
2019年 04月 01日 星期一 16:11:13 CST

[root@king ~]# date -d"$nowdate last day" +%Y%m%d   ## 上个月的最后一天
20190401


线上使用的一些时间定义手法
TIME_FORMAT="%Y-%m-%d %H:%M"
CURRENT_TIME=`date +"%Y-%m-%d %H:%M:%S"`
TIME_PATTERM_10=`date -d "$CURRENT_TIME" +"$TIME_FORMAT"`
TIME_PATTERM_20=`date -d "10 minute ago $CURRENT_TIME" +"$TIME_FORMAT"`
TIME_PATTERM_30=`date -d "20 minute ago $CURRENT_TIME" +"$TIME_FORMAT"`


TIME_PATTERM_10=${TIME_PATTERM_10:0:15}.:..
TIME_PATTERM_20=${TIME_PATTERM_20:0:15}.:..
TIME_PATTERM_30=${TIME_PATTERM_30:0:15}.:..
1.1 当前日志的写法
date +%F
2019-09-26

2.当前系统时间,可以按照年月日 时分妙进行输出

date +%Y%m%d%H%M
date +"%Y-%m-%d %H:%M:%S"

[root@localhost ~]# date +%F
2019-01-17
[root@localhost ~]# date  '+%H'
10


系统昨天的这个时间
[root@localhost ~]# date -d yesterday “+%Y-%m-%d”
2019-01-16
[root@localhost ~]# date -d yesterday +%Y%m%d
20190116

3.提取服务器IP

ifconfig |awk ‘/addr:10.101/{print$2}’

/sbin/ifconfig|grep inet|grep -v ‘inet6’|grep -v ‘127.0.0.1’|awk ‘BEGIN{FS="[ :]"} {print $13}’

/sbin/ifconfig | grep ‘inet addr:’| grep -v ‘127.0.0.1’ | cut -d: -f2 | awk ‘{ print $1}’ |head -n1

/sbin/ifconfig |awk ‘/addr:10.101/{print$2}’|cut -d: -f2

4.如何通过shell 进行邮件的发送
echo  "${host}-180${i}0的bossquery.log.${nowtime}.bak的日志请求数为${count},请关注!"|mail -s "$ip bossquery日志异常" $MAILLIST 

5.定义一个目录的路劲,通过脚本进行切换

[root@localhost shell]# d=/root/shell
[root@localhost shell]# echo $d
/root/shell
[root@localhost shell]# echo ${d}
/root/shell
[root@localhost shell]# cd
[root@localhost ~]# cd ${d}
[root@localhost shell]# cd
[root@localhost ~]# echo $d
/root/shell

6.通过top uptime 进行查看负载均衡的信息

[modps@gd-mopps02 shell]$ top -b -d 1 -n 2|grep ‘%id’
Cpu(s): 13.8%us, 3.6%sy, 0.0%ni, 81.0%id, 0.1%wa, 0.0%hi, 1.5%si, 0.0%st
Cpu(s): 14.0%us, 3.7%sy, 0.0%ni, 81.3%id, 0.0%wa, 0.0%hi, 0.9%si, 0.0%st
[modps@gd-mopps02 shell]$ top -b -d 1 -n 2|grep ‘%id’|awk -F “[ %]” ‘END{print 100-$10}’
24.8

7.这个命令啥卵意思啊,有时间研究一下

netstat -n |awk '/^tcp/{++S[$NF]}END{for (i in S ) print i,S[i]}'

8.邮件发送的书写格式

mail -s  "${ip}_${sumdate}益生康广告提数" $MAILLIST  < ${ouputpath}${sumdate}-clientAd.txt

9.在shell脚本中经常出现的exit0 和exit1

exit0 是正常的退出脚本
exit1 是非正常的退出脚本
在liunx系统中 echo $? 是可以检查上一条命令的执行结果,0 代表的是正常,非0 代表的是非正常

exit 也是根据这样的思想进行的

10.在shell脚本中经常会有一些,判断文件是否存在的语句

if [ ! -f ${path}/httpd.conf.fenliubackup ]

判断文件是否存在,如果文件不存在就需要创建文件,对应过期的日志信息,还需要把日志信息给删除。 这个语法结构这是在这两方面进行使用

https://www.cnblogs.com/dylancao/p/9178659.html

11.ftp 在脚本中的语句

cd /opt/aspire/product/clientinf/back
lftp -u modps,Gw3fv+2015-07 sftp://10.153.83.46 <<EOF
#cd pkgs
cd /opt/aspire/product/modps/ppsbackup
put KaTeX parse error: Expected group after '_' at position 7: {name}_̲{ip}${checktime}.ap.tar.gz
put KaTeX parse error: Expected group after '_' at position 7: {name}_̲{ip}
${checktime}.mo.tar.gz
bye

12. liunx 定义环境变量

PATH=/sbin:/usr/bin/:.:/usr/local/bin:/bin
export  PATH  

PATH是定义环境变量 export PATH 是使环境变量生效
但是这种方法是使原来的变量覆盖

13.shell脚本字体带颜色输出,以及字体的特殊结构输出

https://www.jb51.net/article/141286.htm

14.shell脚本使用sed提取IP

ifconfig eth0 | sed -n '2p' | sed -r 's#.*inet(.*)netmask.*#\1#'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值