
shell
diyiday
这个作者很懒,什么都没留下…
展开
-
快速配置Let‘s encrypt通配符证书
利用certbot工具配置Let’s encrypt通配符证书,所域名下所有的子域名都能方便的使用 https证书,而且完全免费。值得关注的是,Let’s encrypt通配符证书只是针对二级域名,并不能针对主域名,如*.hubinqiang.com和hubinqiang.com 被认为是两个域名,如果和我一样使用的是主域名,在申请的时候需要注意都要申请。配置环境操作系统:Ubuntu16.0...原创 2018-09-20 18:24:20 · 1657 阅读 · 0 评论 -
利用linux的dd命令生成指定大小的文件
有时候需要文件来测试,需要把文件设置为指定大小,在linux中很容易搞起:ubuntu@VM-0-15-ubuntu:~/taoge/cpp$ dd if=/dev/zero of=zeroFile bs=1K count=11+0 records in1+0 records out1024 bytes (1.0 kB, 1.0 KiB) copied, 0.000238263 s, 4.3 MB/subuntu@VM-0-15-ubuntu:~/taoge/cpp$ ll zeroFile -转载 2021-01-15 10:54:51 · 1755 阅读 · 0 评论 -
简单监控脚本细节分析
这一博文,是对上一博文的中两个脚本的细节的分析,内容不多,但是价值不小!其一,就是CPU的统计利用率,我采用的是top指令。计算用户态和内核态的使用率之和。function cpuSts(){ content=`top -b -n 1| grep "Cpu(s)"` ##echo $content cpup=`echo ${content#*:}` cpuu=`echo ${cpup%us*}` cpuss=`echo ${cpup#*,}` cpus=`echo $转载 2020-08-14 14:58:48 · 269 阅读 · 0 评论 -
shell获取网卡流量
网卡信息已知有如下网卡信息,我需要获取docker0的网卡流量,或者eth0的网卡流量信息br-889578db29c5: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.1.2 netmask 255.255.240.0 broadcast 192.168.47.255 eth...原创 2020-04-05 03:19:16 · 658 阅读 · 0 评论 -
使用ssh工具连接到ubuntu on windows(wsl)
相信很多同学都体验到了wsl的强大,但是window自带的命令行工具体验式真的差。复制粘贴这种事情都做不好,忍无可忍!!!通过ssh连接变通的使用客户端工具或许是一个思路,于是搜索了一下,果然有同学试过了,我这里就整理一下,为后面的同学铺铺路吧首先是卸载重装一遍ssh服务,这里不是很确定是不是自带ssh服务有没有问题。sudo apt-get remove openssh-server...转载 2020-04-05 02:32:02 · 1544 阅读 · 0 评论 -
shell脚本
安装dockerhttp://shell-1251121573.cosgz.myqcloud.com/docker.sh原创 2017-11-14 11:03:50 · 322 阅读 · 0 评论 -
统计nginx访问ip,并按照访问次数进行排序
需求:统计niginx的访客ip,并排列出访客访问次数,进行排序nginx访问日志格式182.96.12.70 - - [17/Jan/2020:02:58:45 +0000] "GET / HTTP/1.1" 502 166 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0...原创 2020-01-17 11:08:28 · 4310 阅读 · 0 评论 -
检测ssl过期时间并发送邮件
通过shell可以检测ssh证书过期时间。关键脚本为:curl -o /dev/null -m 10 --connect-timeout 10 -svIL https://www.baidu.com[root@aliyun ~]# curl -o /dev/null -m 10 --connect-timeout 10 -svIL https://www.baidu.com* About...原创 2019-12-05 23:16:47 · 1197 阅读 · 0 评论 -
shell脚本中的一些参数处理
需求描述:在写shell脚本的时候,会有这样的需求,脚本在执行的过程中是需要传入参数的,如果没有参数传递给脚本,就会给出相应的脚本使用方法或者例子,告知,脚本后面应该加什么样的参数。所以呢,这里要做的就是如何,知道当前传递给脚本的参数的数量,如果是0个,就执行使用说明的显示。实现方法:脚本中通过$#来判断,当前传递给脚本的参数的数量。#!/bin/bashecho $#测试过程:...转载 2019-11-20 11:04:52 · 2231 阅读 · 0 评论 -
Shell截取文本一段区间的方法
假设有一段日志,我需要截取 2019/09/23到2019/09/29 之间期间的日志。那么,我利用shell怎么去截取呢2019/09/16 09:56:00 [warn] 11#11: could not build optimal proxy_hea2019/09/16 09:56:00 [warn] 11#11: could not build optimal proxy_hea...原创 2019-10-26 16:30:05 · 3846 阅读 · 0 评论 -
利用shell-openssl对字符串或者文件进行加密操作
背景:公司要求,不能记录明文密码,否则被安全查出来要被处罚,于是写了一个加密和解密的脚本具体脚本内容如下:#/bin/bash#检查密码函数function check_PWD () { printf "%s\n" pwd=`echo "$key" | md5sum | awk '{ print $1 }' ` if [ $pwd = 54685746534677564 ];the...原创 2019-10-23 17:26:54 · 1353 阅读 · 0 评论 -
expect 一些实践
https://blog.youkuaiyun.com/wzt888_/article/details/80826196关于expectexpect #自动应答命令用于交互式命令的自动执行spawn #expect中的监控程序,其运行会监控命令提出的交互式问题send #发送问题答案给交互命令“\r” #表示回车exp_continue #当问题不存在时继续回答下边的问题expect eof #...原创 2019-10-20 00:41:48 · 369 阅读 · 0 评论 -
shell加密和解密
#加密openssl enc -e -aes-256-cbc -in 要加密的文件 -out 要解密的文件 -pass pass:密码#解密openssl enc -d -aes-256-cbc -in 要解密的文件 -out 要加密的文件 -pass pass:密码https://blog.youkuaiyun.com/qq_35603331/article/details/83793475...转载 2019-09-24 23:19:44 · 1488 阅读 · 0 评论 -
linux下利用inode(i节点号)删除指定文件
由于 linux下中文编码和在Windows中的中文编码可能不同,在一定的条件下,linux的文件夹可能会存在乱码的情况就算一些乱七八糟的字符。如果出现这样的情况,这个文件或者文件夹,无法打开或者进入。出现这样情况,可用利用linux下的inode号重命名文件ll -i可用查看到文件的inode号码[root@cloud ~]# ll -itotal 23088475167 drw...原创 2019-09-16 15:58:26 · 2122 阅读 · 1 评论 -
shell使用ps -ef|grep xxx时不显示grep xxx进程的方法
在使用ps -ef|grep xxx时会将grep xxx的进程也带出来,而在脚本中如果想要截取此命令结果的一部分,则grep xxx的进程会显得多余,如下:[root@localhost ~]# ps -ef|grep pythonroot 2829 1 0 Feb28 ? 00:00:13 /usr/bin/python -tt /usr/sbin/yu...转载 2018-11-06 12:12:19 · 10484 阅读 · 0 评论 -
一些linux-shell命令
docker rm $(docker ps -a |grep artisan | awk ‘{print $1}’)这个命令可以批量删除 artisan 镜像创建的好多好多容器原创 2019-01-25 12:33:21 · 123 阅读 · 0 评论 -
shell脚本删除几天前的备份文件
第一种方式:根据文件的修改日#!/bin/bash#删除30天以前的日志数据 日志位于./logs 文件夹下find ./logs/ -mtime +30 -name "*.log*" -exec rm -rf {} \;第二种方式:根据文件名#要删除日志的时间区间log_dir=/logscontent=$(date +%Y%m%d --date '1 month ago')...原创 2019-04-02 15:12:08 · 2937 阅读 · 0 评论 -
shell判断文件是否发生变化
公司有个需求,通过检测文件是否变化,而判断是否进行发布操作,以下为判断代码#!/bin/bash# 检测的文件package=/data/file.index# 记录 md5值的文件md5=package_md5# 创建新的md5信息package_md5_new=$(md5sum -b $package | awk '{print $1}'|sed 's/ //g')# 创建...原创 2019-06-20 17:46:44 · 6090 阅读 · 1 评论 -
一些shell脚本
#!/bin/sh#set -xsrc="/data/test/"des_ip="192.168.1.232" #functioninotify_fun (){/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y-%H:%M' --format '%T %w%f' -e modify,delete,create,move $1|while re...原创 2019-06-21 13:50:34 · 228 阅读 · 0 评论 -
shell脚本报错“do_run.sh: line 14: syntax error: unexpected end of file
运行shell脚本报错“do_run.sh: line 14: syntax error: unexpected end of file”原因:该脚本在windows下编辑或者在windows打开保存过。DOS下文件和Linux下文件格式差异问题导致的。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是...转载 2019-06-26 17:10:59 · 1816 阅读 · 0 评论 -
Linux shell自动化检测 网络与端口 联通情况
背景:我们某个机房交换机需要替换,替换完成后,我们也需要校验主机和服务的连通性。以前只测某个主机时,测网络的话就ping一下,测端口的话就telnet一下。现在机器多起来,挨个敲命令就太麻烦了。花了一点时间写了一个通用脚本,现在分享一下。分享脚本前先普及一下,脚本里核心的原理和方法测试网络测试网络,我们都会用ping,但是linux默认情况下ping会一直进行(windows是默认4次)...转载 2019-08-29 18:49:06 · 1628 阅读 · 0 评论 -
netstat和ss的一些网络命令
netstat 命令netstat -tlpn[root@cloud ~]# netstat -tlpnActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name ...原创 2019-08-29 19:05:41 · 389 阅读 · 0 评论 -
sed和awk的一些命令操作
去除空格cat a.txt | sed 's/ //g'原创 2019-08-29 20:20:51 · 152 阅读 · 0 评论 -
按小时统计服务器业务日志
上级来了一个需求,统计日志某一天内的日志业务日志访问量,按小时统计。上去服务器一看,今天的日志达到了8G,有点恐怖,先开始分析吧less access.log查看日志的一些格式[00:00:00.000] [<id=1111>] acc346346ess?u545345r&password[00:00:00.023] [<id=1111>] access...原创 2019-09-04 20:13:50 · 683 阅读 · 1 评论 -
shell循环判断进程是否存在
shell循环判断进程是否存在#!/bin/shwhile truedo process=`ps aux | grep mysqld | grep -v grep`; if [ "$process" == "" ]; then sleep 1; echo "process 不存在,开始执行"...原创 2018-07-18 19:57:48 · 7129 阅读 · 0 评论