linux 非交互式修改密码
3种免交互修改密码 下面写三种,印象中还有第四种后期想起来再补充 第一种使用echo管道给passwd 两个echo进行传输,但由于echo速度太多,导致passwd没有反应时间,所以中间需要sleep等待1秒 语法:(echo 《新密码》; sleep 1; echo 《确认密码》)passwd 《用户名》 12#修改test用户密码为1234 (echo 123456;sleep 1;echo 123456 )passwd test 第二种使用passwd –stdin参数,这个用的比较多,单独执行时,容易history泄露密码 语法:echo 《新密码》 passwd –stdin 《用户名》 1echo 123456passwd --stdin test 第三种chpasswd命令,可用于单用户修改密码,也可以批量修改用户密码 1234#单用户,修改用户test,密码为123echo "test:123456"chpasswd#批量修改,将用户密码文件导入到chpasswdchpasswd < passwd.txt 拓展:expect自动化也可以 ...
linux 关${}、$()、$(())、$[]
${}、$()、$(())、$[]功能很丰富,当然也可以使用其他命令代替,但如果你喜欢了它,会发现原本几行的命令,让你一行或者几个字符解决,岂不美哉! 常用功能(后期慢慢完善!)$(command) 等价于 `command` $(())支持expr运算(注:expr 运算需要空格分割、且*乘法需要转义) ${}取值(注:以键盘$为分割,$左侧为#,右侧为%。请记忆!!!) ${}取字节,(注:冒号分割取字符串) $[]代替let $(command) 等价于 `command`这个比较简单没事说的,用了就知道! 12#获取主机ipIP=`hostname -i awk '{print $2}'` $(())支持expr运算这个比单独使用expr方便很多,expr中*是需要转义的,当然,这里也不支持浮点,如果需要浮点还是awk方便很多 $[]与\$(())用途一致:用来作整数运算。在 bash 中,$(( ))的整数运算符号大致有这些: \+ - * / % & ^ ! AND、OR、XOR、NOT运算 ${& ...
linux  定时任务at和crontab命令解析
at命令,一次性任务(和win中的at命令有些差距) crontab命令,循环任务 这两个命令都是分钟级别,如果需要定位到秒可以使用sleep进行秒级定位。 crontab命令crontab,默认存储文件:/var/spool/cron/用户名 (注:默认只有root用户可以查看定时任务,其他用户没有权限,即使你是文件所有者也不行,因为在上层目录cron目录中other组没有x权限,解决方法就是给cron目录other添加x权限) crontab的几种用法: 第1种:直接使用crontab,以ctrl+d结束(注:此方法会覆盖历史任务,根据环境使用) 第2种:crontab -e,是最常用的方法,其实就编辑/var/spool/cron/【你的用户名】文件,后保存。 第3种:使用EOF参数,常用用于脚本。 如下: `crontab -l`,利用shell命令获取历史任务(shell命令通用的哦!管道符、grep、sed、awk等命令) at命令at,默认存储文件:/var/sp ...
linux  对比文件差异
linux中有好几个文件对比命令有好几个,我今天介绍2个命令:comm、diff comm命令这个对比有个很大的缺陷,需要排序,有的时候哪怕你排序了,碰到行数不同的更是头疼,不是很好用,–help 可以查看帮助文档。 comm语法: 1comm [option] file1 file2 参数: -1   不显示只在第1个文件里出现过的列。 -2   不显示只在第2个文件里出现过的列。 -3   不显示只在第1和第2个文件里出现过的列。(只2个文件差异内容) -12 只显示两个文件相同部分 -13 只显示在第2个文件中出现(而未在第1个文件中出现的行) -23 只显示在第1个文件中出现(而未在第2个文件中出现的行) 例:比较2个文件,并打打印相同部分(排序、去除,否则会出现comm错误告警) [root@ffing ~]# cat 1.txt a1 b12 b123 d1234 [root@ffing ~]# cat 2.txt ab abb a2 acc a1 a12 b12 b12 d1234 [root@ffing ~]# cat 1.txt sortuniq > 1. ...
linux 打印匹配内容前、后行
样例: 12345678910cat test.txtaaaabbbbccccddddeeeeffffgggghhhhiiii 使用sed使用sed过滤指定行!(以过滤eeee为例) 12#匹配eeee所在行,并打印eeee后3行sed -n '/eeee/,+3p' test.txt 打印匹配行的上一行 123#x交换空间,p打印,h当前模式空间中内容覆盖至缓存区#sed命令参数太过复杂,暂时记录这这里sed -n '/eeee/{x;p};h' test.txt 使用grep使用grep先确定匹配行号,再对行号前后增加!(以过滤eeee为例) 12#获取eeee行号cat test.txt grep -nE "^eeee$"awk -F":" '{print $1}' 12345678910#获取eeee所在行号NUM=`cat test.txt grep -nE "^eeee$"awk -F":&q ...
linux 标准输入到文件(echo、cat)
存稿发一发,呵呵呵,原来还想补充一下,就这样吧。 在写脚本时,总有需要生成的配置文件,为了方便就直接写在一个脚本,执行时导出生成,我这里写下日常使用的cat和echo用法。 cat对固定值时,且是多行一般使用cat配合EOF,将EOF内容追加或覆盖到配置文件 #例:如下将两行内容覆盖到~/test.conf 1234cat <<EOF >~/test.confhostname=ffing.cndate=2022-01-03EOF echoecho一般处理单行或者变量时使用。 当使用单引号时,就是固定值,和cat功能类似 当使用双引号是,取变量值,环境变量或脚本变量都可。 注:echo时,换行符也会被插入 #例,当有换行符时,换行符也会被插入到文件中。 1234echo "$HOSTNAME`date +%F`" > ~/test.conf 如果不想要两个空格行,就需要把脚本中换行符替换掉! 12echo "$HOSTNAME`date +%F`" > ~/test.conf
zabbix 配置钉钉告警
zabbix监控,实现指定的监控内容,进行钉钉告警推送。 流程: 钉钉机器人获取webhook及zabbix告警字段 server上配置钉钉告警脚本 管理项-添加告警媒介,并赋予给用户(用户添加报警媒介“钉钉告警”) 配置项-添加动作(监控项状态通过钉钉发送告警) 测试 第一步,钉钉机器人获取webhook及zabbix告警字段关于创建钉钉机器人,我前面文章有写,或者自行百度也可以 第二步,server上配置钉钉告警脚本python脚本,需安装python及requests模块 1234#安装epel源yum -y install epel-release#安装python及依赖模块yum -y install python && yum -y install python-pip && pip install requests 查看zabbix-server脚本路径: 1grep ^AlertScriptsPath /etc/zabbix/zabbix_server.conf (我的查询:/usr/lib/z ...
zabbix  监控nginx
nginx有status状态模块,可以通过这个模块来反馈状态。 流程: nginx增加status状态 agent端,自定义key web页面,定义模板(模板-应用集-监控项-触发器) web页面,为客户机添加模板 第一步,nginx增加status状态对要监控的nginx配置文件进行修改,增加status状态 1234567#在server中增加location /nginx_status {stub_status on;access_log off;allow 127.0.0.1;deny all;} 重启nginx: 1systemctl restart nginx 查看nginx_status 12345678910#状态解释Active connections Nginx正处理的活动链接数个数;重要server Nginx启动到现在共处理了多少个连接。accepts Nginx启动到现在共成功创建几次握手。 handled requests Nginx总共处理了几次请求。Reading ...
zabbix 添加agent
流程 修改zabbix_agentd.conf web添加agent 修改agent_configagent客户机操作 编辑 /etc/zabbix/zabbix_agentd.conf 123456#server地址Server=《你的zabbix_server地址》#server代理地址Server=《你的zabbix_server代理地址》#agent主机的hostnameHostname=《你当前的zabbix_agent的主机名》 web添加agentzabbix管理页面,添加agent客户机 1.创建主机 2.主机信息 3.关联模板后,添加即可(一个主机可以管理多个模板)
一分钟申请xshell免费版
前几天朋友让我帮忙找xshell的破解版,我很懵逼,个人免费版不可以用吗??? 免费版和商业版最大区别就是在于一个前端最多打开4个标签,超过4个后,就自动再打开下一个前端程序,个人使用已经可以满足了。 当然,懒人还可以使用系统自带的终端连接服务器,文章结尾有介绍。 介于朋友的这种情况,写个1分钟申请流程吧。 官网–>免费授权–>填写你的邮箱–>登录你的邮箱–>打开邮件链接下载–>ok 1.打开xshell的官网:https://www.netsarang.com/zh/xshell/ (注:带cn的那个是国内代理商的网站,是不会放免费的东东的。) 2.点击下载 3.选择免费授权 4.邮箱必须正确,下载链接会发送到你填写的邮箱(这里一般选择两者,可以把xshell和xftp都发给你) 5.到你自己填写的邮箱,会有xshell发送的邮件,点击链接下载即可 6.安装流程我就不讲了吧,下一步即可。 注:xshell需要vc++环境,如果缺省xxx.dll,就安装一下微软常用运行库吧。 -———————————————————————————– 顺便推荐下 ...
GIT——远程分支
一、Git的配置1.设置用户名和邮箱(–global 为全局参数,表明本地所有Git仓库都会使用这个配置) 123git config --global user.name "yourname"git config --global user.email "your_email@youremail.com" 2.生成密钥(SSH key),如果已关联秘钥可跳过 1ssh-keygen -t rsa -C "your_email@youremail.com" 3.添加密钥(SSH key),并验证是否成功 添加密钥:将上一步骤生成的密钥即.ssh/id_rsa.pub中内容全部复制。在github的 Settings–>SSH and GPG keys–>New SSH key,key中粘贴复制的内容(Title自定义)。 验证:github输入第一条的命令,码云输入第二条 1234#githubssh -T git@github.com#giteessh -T git@gitee.com 二、创 ...
yum相关配置
通过yum配置文件查询修改配置,默认yum配置文件位于/etc/yum.conf #默认存放位置 cachedir=/var/cache/yum/$basearch/$releasever #是否保留下载文件:1为保存, 0为不保存 keepcache=0 #保留周期 metadata_expire=90m

兴趣是最好的老师
时间是最贵的学费

公告
wordpress迁移Hexo测试