linux脚本

linux下保证高可用Java服务化系统高效运行的必备工具脚本

喜你入骨 提交于 2020-01-17 07:49:42
无论是技术开发人员还是架构设计人员都是在实践中成长起来的,他们通过实践进行总结,总结后把经验升华并再次应用到实践中去,进一步提供生产效率。 本文介绍笔者在互联网公司里线上应急和技术攻关过程中积累的应用层脚本和Java虚拟机命令,这些脚本和命令在发现问题和定位问题的过程中起到关键作用,在特定的问题环境下,堪称快速定位问题的小倚天剑以及快速解决问题的微屠龙刀。 本文在介绍脚本和命令之前,先给大家介绍笔者的Linux环境以及在Linux环境下搭建的一个原创Java发号器服务,用来向大家演示脚本和命令的使用方法,力争做到让大家拿来即用的效果。另外,在介绍完所有的脚本和命令之后,我会把所有的命令和脚本收集在一个表格中,便于大家随时参考和使用,并推荐大家把这个表格打印出来放在自己的办公桌上,需要的时候看一眼,便可快速发现和解决问题的工具。 脚本和命令系列主题中计划提供两篇文章,这篇文章是脚本和命令系列主题中的其中一篇,本文聚焦在那些“神奇的”应用层脚本和Java虚拟机命令,曾经在不同程度上帮助笔者在线上应急和技术攻关的过程中解决过不小的问题,通过这篇文章把这些脚本和命令推广给读者,让读者也能够应用在实践中,切实有效的帮助读者解决实际问题。 环境搭建和示例服务启动 首先,使用的Linux版本为: OS:Ubuntu 14.04.2 LTS 内核:3.16.0-30-generic 硬件架构

网络安全开源扫描引擎

笑着哭i 提交于 2020-01-17 03:19:06
python redis awvs api nessus api =========================================== https://github.com/boy-hack/bugscan w8ay专属扫描器 =========================================== https://github.com/MXi4oyu/DockerXScan DockerXScan——Docker镜像漏洞扫描器 =========================================== https://github.com/netxfly/passive_scan 分布式 基于代理的web扫描器 =========================================== https://github.com/boy-hack/w8scan =========================================== https://github.com/blackye/BkScanner BkScanner 分布式、插件化web漏洞扫描器 =========================================== https://github.com/sowish/LNScan

把脚本制作成RPM包

天大地大妈咪最大 提交于 2020-01-16 11:35:54
redhat系列的linux使用RPM来管理安装软件很方便,把自己常用的脚本变成RPM包之后,用起来就方便了。 要制作RPM包,首先要看一下RPM包的内容(可以忽略) ....还是不看了把,看不懂.... 2.环境准备: 软件包依赖: rpm-build rpmdevtools 3.设置 制作RPM包 的环境 直接执行命令: rpmdev-setuptree 即可在当前用户的家目录生成如下目录结构 4.拷贝自己的脚本到相应目录 (简单介绍一下我的那三个脚本的功能: customOS.sh:设置历史命令格式,终端(PS1)显示之类的 scanport.sh :扫描目标主机的可用TCP端口 setRM.sh :当rm -rf 删除的目标 大小小于10M,就把目标放入到/tmp目录下 ) 5.配置SPCE文件(重点) 在SPEC目录下,编译ddcw.spec ddcw.spec内容参考如下: Name: ddcw #名字 Version: 2019 #版本 Release: 1125 Summary: this is test RPM Group: Applications/System License: ddcw URL: https://blog.51cto.com/10888845 #Requires: Requires:grep #依赖,即安装这个软件所需的其它RPM包

CentOS 初始化脚本

偶尔善良 提交于 2020-01-16 01:22:54
#!/bin/bash # curl https://yiyingcanfeng.github.io/centos-init.sh | bash # 可选参数base kernel python php nodejs cmd_game jdk mysql mongodb docker # 比如 # curl https://yiyingcanfeng.github.io/centos-init.sh | bash -s base function system_config() { # 修改主机名 #hostnamectl set-hostname aaa # 禁用selinux sed -i 's/SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config setenforce 0 # 修改开机引导等待时间 sed -i 's/GRUB_TIMEOUT=.*/GRUB_TIMEOUT=2/g' /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg # 请根据具体情况来决定是否关闭防火墙 systemctl stop firewalld systemctl disable firewalld } function config_mirror_and_update() {

Linux下source命令详解

北慕城南 提交于 2020-01-15 18:41:05
source命令用法 source FileName source命令作用 在当前bash环境下读取并执行FileName中的命令。 *注:该命令通常用命令“.”来替代。 使用范例: source filename . filename #(中间有空格) source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。 同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 等等。 例如,假如在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。比如您在一个脚本里 export $KKK=111 ,假如您用./a.sh执行该脚本,执行完毕后,您运行 echo $KKK ,发现没有值,假如您用source来执行 ,然后再echo,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同他就是在本shell中执行的,所以能够看到结果。 source命令(从 C

远程执行本地脚本_linux

ぐ巨炮叔叔 提交于 2020-01-15 11:00:22
一、远程执行脚本 1、免机器指纹确认(无需填写yes/no)   ssh -o StrictHostKeyChecking=no root@192.168.108.78 2、远程执行本地脚本   ssh -o StrictHostKeyChecking=no root@192.168.108.78 <test.sh 3、如需加参数,-s   ssh -o StrictHostKeyChecking=no root@192.168.108.78 bash -s < testl.sh arg1 4、批量执行   for i in {78..99};do ssh -o StrictHostKeyChecking=no root@192.168.108.$i bash -s < testl.sh arg1;done 来源: https://www.cnblogs.com/chenxiaozan/p/12195214.html

Shell——你只需要了解这么多

丶灬走出姿态 提交于 2020-01-15 09:19:33
一.Shell简介 Shell是一个用C语言编写的程序,通过Shell用户可以访问操作系统内核服务,类似于DOS下的command和后来的cmd.exe。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量、参数、函数、流程控制等等。它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。 二.两类程序设计语言 我经常说道shell脚本,其实是因为Shell是一种脚本语言,也就是解释性语言。程序设计语言可以分为两类:编译型语言和解释型语言。 语言 区别 编译型语言 需要预先将我们写好的源代码转换成目标代码,这个过程被称作“编译”。运行程序时,直接读取目标代码。由于编译后的目标代码非常接近计算机底层,因此执行效率很高,这是编译型语言的优点 解释型语言 也叫做脚本语言。执行这类程序时,解释器需要读取我们编写的源代码,并将其转换成目标代码,再由计算机运行。因为每次执行程序都多了编译的过程,因此效率有所下降 三.Shell脚本解释器 Linux的Shell脚本解释器种类众多,一个系统可以存在多个shell脚本解释器,可以通过cat /etc

安全删除和恢复文件的脚本

徘徊边缘 提交于 2020-01-14 13:44:32
由于现在的linux文件系统大多是etx3的,一不小心删除后是无法恢复的(至少我不知道),而rm是个很危险的操作!鉴于此我写了这俩小脚本,希望GGJJ们指点! 1,用root修改rm的权限: #chmod o-x /bin/rm 2,在用户主目录下创建个"垃圾箱" $mkdir ~/.temp 删除文件脚本: cat erase#!/bin/ksh(($#==0)) && { echo "No paraments!";exit 1; }for i in $*do mv -f $i ~/.temp/$(find $(pwd) -maxdepth 1 -name $i|tr "/" "=")done 恢复文件脚本: cat unerase#!/bin/ksh(($#==0))&&{ echo "No paraments!";exit 1; }cd ~/.templist=$(for i in $*;do ls ~/.temp|grep "/<$i/>";done)for j in $listdofile=$(echo $j|tr "=" "/")mv $j ${file%/*}/${file##*/}done admirer 回复于:2003-12-22 14:57:08 :)。MM真行! bjgirl 回复于:2003-12-22 15:33:43 引用: 原帖由 "admirer"

linux Shell 脚本基础

心已入冬 提交于 2020-01-13 17:14:15
#!/bin/ bash 在Unix中,凡是被 #! 注释的,统统是指明加载器(解释器)的路径,也就是声明用哪个程序来运行本文件。 比如: #!/bin/bash #上面的意思是说,把下面的字符统统传递给/bin/bash echo "Hello Boy!" ... 当然,还有很多。 #!/bin/lua #!/bin/perl #!/bin/python# 终止执行exit 2 接收用户参数 #!/bin/bash echo "当前脚本名称:$0" echo "参数个数: $#" echo "参数 list: $*" echo "第一个参数 $1" echo "==============" ls echo "==============" echo "上次命令返回值:$?" 文件测试语句 -d   // 文件是否为目录 -e  // 文件是否存在 -f  // 文件是否为一般文件 -r  // 当前用户是否可读 -w  // 是否可写 -x  // 是否可执行 lyb@lyb-virtual-machine:~/work$ [ -f example.sh ] lyb@lyb-virtual-machine:~/work$ echo $? 0 lyb@lyb-virtual-machine:~/work$ [ -f example2.sh ] lyb@lyb-virtual

linux source命令与export命令的区别

旧街凉风 提交于 2020-01-13 12:09:01
shell与export命令 用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。 在子 shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。 export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。 [例]在本例中,变量myfile是在dispfile脚本程序中定义的。然后用export命令将变量myfile输出至任何子shell,例如当执行printfile脚本程序时产生的子shell。 dispfile脚本程序清单: /**************begin