awk命令

KVM虚拟机的克隆

匿名 (未验证) 提交于 2019-12-03 00:39:02
克隆KVM虚拟机使用到的命令是virt-clone,该工具主要用来克隆虚拟机,也可以使用一系列参数对克隆出的新虚拟机进行定制化。 需要注意的是,virt-clone不会修改Guest OS内的任何信息,它仅仅只是复制虚拟机磁盘并在宿主机端做一些修改。所以,类似修改密码、设置静态IP地址等都无法通过virt-clone来完成。 virt-clone的用法: 基础选项: --version:查看版本 -h,--help:查看帮助信息 --connect=URI:连接到虚拟机管理程序 libvirt 的URI 一般选项: -o ORIGINAL_GUEST, --original=ORIGINAL_GUEST:原来的虚拟机名称,原虚拟机必须处于关机或者暂定状态 --original-xml=ORIGINAL_XML:使用XML文件作为原始虚拟机 --auto-clone:从原来的虚拟机配置自动生成克隆名称和存储路径。例如,原虚拟机名为VM01,那克隆的虚拟机名为VM01-clone,原虚拟机的磁盘路径为/usr/src/VM01.img,克隆后的虚拟机磁盘路径为/usr/src/VM01-clone.img -n NEW_NAME, --name=NEW_NAME:新的虚拟机名称 -u NEW_UUID, --uuid=NEW_UUID:克隆虚拟机的新的UUID

tomcat启动和停止脚本

匿名 (未验证) 提交于 2019-12-03 00:13:02
#!/bin/bash JDK_HOME=/apps/jdk1.7.0_79 CATALINA_HOME=/apps/tomcat export JDK_HOME CATALINA_HOME source /etc/profile #PID=`ps -ef | grep -v grep | grep java | awk '{print $2}'` #NUM=`ps -ef | grep -v grep | grep java | awk '{print $2}' | wc -l` #case $1 in start() { echo "正在判断服务状态,请稍等!" echo "请稍等3秒钟" echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1 if netstat -an | grep 8080 | grep LISTEN >/dev/null then echo "Tomcat已经正在运行了!" else echo "Tomcat没有运行,1秒后启动!" echo 1;sleep 1 $CATALINA_HOME/bin/catalina.sh start echo "Tomcat 已经成功启动完成,5秒后判断是否启动成功" echo "5";sleep 1;echo "4";sleep 1 echo "3";sleep 1

30个经典shell脚本(下)

匿名 (未验证) 提交于 2019-12-03 00:05:01
本文目录 21、从FTP服务器下载文件 22、连续输入5个100以内的数字,统计和、最小和最大 23、将结果分别赋值给变量 24、批量修改文件名 25、统计当前目录中以.html结尾的文件总大 26、扫描主机端口状态 27、Expect实现SSH免交互执行命令 28、批量修改服务器用户密码 29、打印乘法口诀 30、getopts工具完善脚本命令行参数 21、从FTP服务器下载文件 #!/bin/bash if [ $# -ne 1 ]; then echo "Usage: $0 filename" fi dir=$(dirname $1) file=$(basename $1) ftp -n -v << EOF # -n 自动登录 open 192.168.1.10 # ftp服务器 user admin password binary # 设置ftp传输模式为二进制,避免MD5值不同或.tar.gz压缩包格式错误 cd $dir get "$file" EOF 22、连续输入5个100以内的数字,统计和、最小和最大 #!/bin/bash COUNT=1 SUM=0 MIN=0 MAX=100 while [ $COUNT -le 5 ]; do read -p "请输入1-10个整数:" INT if [[ ! $INT =~ ^[0-9]+$ ]]; then echo

30个经典shell脚本上

匿名 (未验证) 提交于 2019-12-03 00:03:02
注:转自https://weibo.com/linuxprobe?topnav=1&wvr=6&topsug=1&is_hot=1(刘遄老师的Linux就该这样学) 先了解下编写Shell过程中注意事项: 开头加解释器:#!/bin/bash 语法缩进,使用四个空格;多加注释说明。 命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。 默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。 有两个命令能帮助我调试脚本:set -e 遇到执行非0时退出脚本,set-x 打印执行过程。 写脚本一定先测试再到生产上。 1、获取随机字符串或数字 获取随机8位字符串: 方法1: # echo $RANDOM |md5sum |cut -c 1-8 471b94f2 方法2: # openssl rand -base64 4 vg3BEg== 方法3: # cat /proc/sys/kernel/random/uuid |cut -c 1-8 ed9e032c 获取随机8位数字: 方法1: # echo $RANDOM |cksum |cut -c 1-8 23648321 方法2: # openssl rand -base64 4 |cksum |cut -c 1-8 38571131 方法3: # date +%N |cut -c 1-8

Linux buffer/cache异同

匿名 (未验证) 提交于 2019-12-02 21:59:42
buffers与cached   1)、异同点   在Linux 操作系统中,当应用程序需要读取文件中的数据时,操作系统先分配一些内存,将数据从磁盘读入到这些内存中,然后再将数据分发给应用程序;当需要往文件中写 数据时,操作系统先分配内存接收用户数据,然后再将数据从内存写到磁盘上。然而,如果有大量数据需要从磁盘读取到内存或者由内存写入磁盘时,系统的读写性 能就变得非常低下,因为无论是从磁盘读数据,还是写数据到磁盘,都是一个很消耗时间和资源的过程,在这种情况下,Linux引入了buffers和 cached机制。   buffers与cached都是内存操作,用来保存系统曾经打开过的文件以及文件属性信息,这样当操作系统需要读取某些文件时,会首先在buffers 与cached内存区查找,如果找到,直接读出传送给应用程序,如果没有找到需要数据,才从磁盘读取,这就是操作系统的缓存机制,通过缓存,大大提高了操 作系统的性能。但buffers与cached缓冲的内容却是不同的。   buffers是用来缓冲块设备做的,它只记录文件系统的元数据(metadata)以及 tracking in-flight pages,而cached是用来给文件做缓冲。更通俗一点说: buffers主要用来存放目录里面有什么内容,文件的属性以及权限等等。而cached直接用来记忆我们打开过的文件和程序。 #!

一行命令杀掉defunct进程

匿名 (未验证) 提交于 2019-12-02 21:56:30
今天在杀掉defunc过程中一直搞不完,索性写一行命令,注意先看懂谨慎使用 ps -ef|grep defun|awk '{print " ps -ef|egrep \47"$2"|"$3"\47"}'|sh|sort -r|awk '{print "kill -9 "$2}'|sh 注意该命令执行会退出当前shell 文章来源: 一行命令杀掉defunct进程

jenkins配合dockerfile部署项目

百般思念 提交于 2019-12-02 20:12:14
前言 本节需要对jenkinsfile有点了解,对dockerfile有点了解,对shell有点了解,对docker有点了解 执行流程 jenkins拉取代码仓库中的代码 jenkins执行jenkinsfile文件(可指定文件名) 先在jenkins所在的服务器将拉取的项目build成docker镜像 将镜像发布到镜像仓库(我这里是腾讯云配置的私有仓库) 在应用服务器的节点上将该镜像拉取下来(私有仓库需要用户名/密码) 在应用服务器上执行该镜像 一、jenkins配置 创建一个Pipeline SCM项目 jenkins项目名为springboot-test (和发布的工程名保持一致) Definition选择 【Pipeline Script from SCM】 Branch Specifier(blank for 'any'):选择分支 Additional Behaviours: 添加邮箱通知的发送者 【这里没有写】 Script Path: 填写使用项目中的Jenkinsfile文件的名字 二、应用工程配置 在工程的根目录下创建Dockerfile文件和Jenkins_docker文件 jenkinsfile_docker文件内容如下 // docker集成docker部署 pipeline { agent {label 'master'} tools{ maven

第二章 Shell变量定义

馋奶兔 提交于 2019-12-02 01:47:06
1. Shell变量概述 1. 什么是变量 变量是Shell传递数据的一种方法,简单理解:用一个固定的字符串去表示不固定的内容,便于后续引用。 2.变量命令规范 变量定义时名称有要求:字母、数字、下划线几个组成,尽量字母开头,变量名最好具备一定的含义。 ip=10.0.0.100 ip1=10.0.0.100 Hostname_Ip=10.0.0.100 hostname_IP=10.0.0.100 等号是赋值,需要注意:等号两边不能有空格,其次定义的变量不要与系统命令出现冲突。 3. Shell变量定义的方式 01)用户自定义变量:人为定义的变量名称。 02)系统环境变量:保存的是和系统操作环境相关的数据。 03)位置参数变量:向脚本中进行参数传递,变量名不能自定义,变量作用是固定的。 04)预定义的变量:是bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。 4. Shell变量定义实践 01.用户自定义变量示例,当前Shell有效 #1.定义变量,变量名=变量值。不能出现"-横岗"命令 #定义变量有空格时,必须使用引号 [root@cc ~]# cc="hello shell" #2.引用变量,$变量名 或 ${变量名} [root@cc ~]# echo $cc hello shell [root@cc ~]# echo $cc_test [root@cc ~

openstack 群集配置 pacemaker+haproxy

£可爱£侵袭症+ 提交于 2019-12-01 23:23:53
#openstack 群集配置 pacemaker+haproxy ##openstack 群集 pacemaker+haproxy #关闭selinux、防火墙 #关闭selinux、防火墙 systemctl stop firewalld.service systemctl disable firewalld.service firewall-cmd --state sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config grep --color=auto '^SELINUX' /etc/selinux/config setenforce 0 #时间同步 #设置hostname, 每个节点分别设置 #时间同步 yum install -y ntp systemctl enable ntpd && systemctl restart ntpd timedatectl set-timezone Asia/Shanghai /usr/sbin/ntpdate ntp6.aliyun.com echo "*/3 * * * * /usr/sbin/ntpdate ntp6

shell 的概述

回眸只為那壹抹淺笑 提交于 2019-12-01 17:27:35
1. Shell变量概述 1. 什么是变量 · 变量是Shell传递数据的一种方法,简单理解:用一个固定的字符串去表示不固定的内容,便于后续引用。 2.变量命令规范 变量定义时名称有要求:字母、数字、下划线几个组成,尽量字母开头,变量名最好具备一定的含义。ip=10.0.0.100ip1=10.0.0.100Hostname_Ip=10.0.0.100hostname_IP=10.0.0.100等号是赋值,需要注意:等号两边不能有空格,其次定义的变量不要与系统命令出现冲突。 3. Shell变量定义的方式 01)用户自定义变量:人为定义的变量名称。 02)系统环境变量:保存的是和系统操作环境相关的数据。 03)位置参数变量:向脚本中进行参数传递,变量名不能自定义,变量作用是固定的。 04)预定义的变量:是bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。 4. Shell变量定义实践 01.用户自定义变量示例,当前Shell有效 #1.定义变量,变量名=变量值。不能出现"-横岗"命令 [root@qiudao ~]# qiudao="hello shell" #定义变量有空格时,必须使用引号#2.引用变量,$变量名 或 ${变量名} [root@qiudao ~]# echo $qiudao hello shell [root@qiudao ~]# echo