随笔分类 - shell
摘要:ssh登陆不能在命令行中指定密码。sshpass的出现,解决了这一问题。sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码。 它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。 参考:http://blog.csdn.n
阅读全文
摘要:#!/bin/bash #note:ping monitor set -u #set -x ping_fun() { d_network=192.168.1 echo -n "input the network(default $d_network):" read network : ${network:=$d_network} echo "network...
阅读全文
摘要:1.检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo "open" 2.让进程转入后台: Ctrl + z 3、将进程转到前台: fg 4.产生随机的十六进制数,其中n是字符数: openssl rand -hex n 5.在当前shell里执行一
阅读全文
摘要:通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr 所能够做的。 tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串...
阅读全文
摘要:rsync1. rsync可以通过ssh隧道的方式传输文件夹: rsync -arv --progress clone user@host:remotedir loaldir 2. rsync通过ssh传输文件夹时指定ssh参数: 加-e "SSH_OPTION即可",示例如下: rsync -a --delete -e '\''ssh \ -o connectTimeout=5 -o S...
阅读全文
摘要:情形一:跨网络、跨主机的映射Full-Nat 我们想到达主机B的80端口,但是由于网络限制可能无法直接完成。但是我们可以到达主机A的8080端口,而主机A可以直接到达B的80端口。这时候可以使用iptables,将主机B的80端口映射到主机A的8080端口,通过访问A的8080相当于访问B的80。实
阅读全文
摘要:netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}’ 或 netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,...
阅读全文
摘要:#!/bin/sh #Auto Make install MFS Files # cat >mfshdd.cfg chown -R mfs:mfs /data/mfs1 chown -R mfs:mfs /data/mfs2 } client_mfs () { if [ -e /usr/bin/mfsmount ];then echo "This Mfschunkserver al...
阅读全文
摘要:当我们已经配置了iptables防火墙,我们允许22端口对外网所有人访问,当然这也是为了方便,我们在任何地方都连接上,没有做VPN,也没有做ssh密钥验证,但是我们的密码设置得非常复杂,大小写、特殊符、数字 32位,连自己都记不住,就别人扫描没有3-5年是无法攻破的哈哈。所以每天看/var/log/
阅读全文
摘要:一、自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改。 #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 BAKDIR=/data/backup/mysql/`date +%Y-%m-%d` MYSQLDB=webapp MYSQLPW=backup MYSQLUSR=backup #...
阅读全文
摘要:shell十三问:http://bbs.chinaunix.net/thread-218853-1-1.html 8) $(( )) 與 $( ) 還有${ } 差在哪? 我們上一章介紹了 ( ) 與 { } 的不同,這次讓我們擴展一下,看看更多的變化:$( ) 與 ${ } 又是啥玩意兒呢?在 b
阅读全文
摘要:简介 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: 这个命令是错误的 find /sbin -perm +700 |ls -l 这样才是正确的 find /sbin -perm +700 |xargs ls -l xargs 可以读入 stdin 的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分...
阅读全文
摘要:四、文件名通配文件名通配 gloabbing * 匹配任意长度的字符,可以是空字符串 ? 匹配一个字符,但不可为空 \ 可以做转义使用,也可作为续行符号 [] 匹配一个序列中的任意一个 [0-9][a-z][a-zA-Z] 选择其中的任意一个 [^] 取反的意思 [^0-9] 除了0-9之外的任意单
阅读全文
摘要:#!/bin/bash while true do clear echo "———————-menu————————" echo -e "\033[49;32;1m(1) 重启\033[49;35;1miptables\033[0m " echo -e "\033[49;32;1m(2) 添加\03
阅读全文
摘要:如何实现Shell脚本以DEAMON的方式运行,即实现Shell版的Fork 如何获取当前shell脚本所在的文件夹路径 如何正确判断变量,避免语法错误 如何kill一个进程树,即kill掉父进程和所有子进程(在没有找到命令之前,我在网上找到的shell版) 如何快速检测base脚本的语法错误,又不
阅读全文
摘要:最近使用dialog写图形自动化shell脚本, 功能很强大,功能不是非常多但是足够用。想写一篇linux下dialog的使用方法,虽然命令不多,但是写起来也需要下很大功夫,而且不一定写得更好,在网上发现一篇linux shell图形化脚本文件,于是转过来了.liunx 下的dialog 工具是一个...
阅读全文
摘要:# vi /etc/rc.d/traffic_monitor.sh----------------------------------------------#!/bin/bashPATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local...
阅读全文
摘要:linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用
阅读全文
摘要:man test 可以看见这些 比较符号:-lt小于 -le小于等于 -gt大于 -ge大于等于 -ne不等于 -eq等于 大于(需要双括号),如:(("$a" > "$b")) >= 大于等于(需要双括号),如:(("$a" >= "$b")) =或==(需要双括...
阅读全文
摘要:#!/bin/bash#this script is appropriate for minimize installation system centos or linux 6.x(这脚本适合最小化安装6.x版本的系统)#you have already install the osread -...
阅读全文
浙公网安备 33010602011771号