linux脚本

CentOS7.5源码shell脚本自动安装MySQL5.7.28多实例

跟風遠走 提交于 2020-01-09 23:50:11
在文章上一篇文章中https://blog.51cto.com/8355320/2463218 我使用的是手动源码安装mysql5.7.28,安装过程还是比较耗时,我编写了shell自动安装脚本,请大家参考,脚本我测试没有出现问题,脚本我有二次修改里面的实例名与变量名,可能存在不一致,请自行对比确认下。脚本中有什么可以优化的还请多多指点,谢谢!!以下是脚本中的几点说明: 1、mysql5.7.28软件包(脚本中配置wget下载,如果下载比较慢,可以事先下载好,上传到 /opt 路径下,并注释对应行的wget下载代码,另外源码安装过程比较耗时,安装请耐心等待),软件包名称如下: #boost_1_59_0.tar.gz #mysql-boost-5.7.28.tar.gz 2、两个mysql数据库脚本上传路径: /opt 包含如下文件(注意sql脚本中的实例名),sql测试脚本名称如下: #testone.sql #testtwo.sql 实例dbtwo有添加lower_case_table_names = 1参数 实例dbone没有添加 4、根据服务器磁盘分配情况,创建对应软链接,脚本我配置的路径是/data,根据需要修改,例如: #mkdir /home/{data,deploy} #ln -s /home/data/ /data 5、修改(确保局域网内值唯一)

国内linux终端番茄

流过昼夜 提交于 2020-01-08 05:23:33
下载官方安装脚本 wget https://install.direct/go.sh 去https://github.com/v3ray/v3ray-core/releases下载对应文件,上传到服务器 运行脚本,--local 使用本地文件安装 bash go.sh --local v3ray-linux-64.zip 替换/etc/v3ray/config.json ,重启 service v3ray restart 安装polipo apt install polipo 编辑/etc/polipo/config , 然后重启 service polipo restart logSyslog = false logFile = "/var/log/polipo/polipo.log" socksParentProxy = "127.0.0.1:10808" socksProxyType = socks5 chunkHighMark = 50331648 objectHighMark = 16384 serverMaxSlots = 64 serverSlots = 16 serverSlots1 = 32 proxyAddress = "0.0.0.0" proxyPort = 8123 设置代理 export http_proxy="http://127.0.0.1:8123

5 个用于在 Linux 终端中查找域名 IP 地址的命令

大憨熊 提交于 2020-01-07 17:47:18
5 个用于在 Linux 终端中查找域名 IP 地址的命令 本教程介绍了如何在 Linux 终端验证域名或计算机名的 IP 地址。本教程将允许你一次检查多个域。你可能已经使用过这些命令来验证信息。但是,我们将教你如何有效使用这些命令在 Linux 终端中识别多个域的 IP 地址信息。 可以使用以下 5 个命令来完成此操作。 dig 命令:它是一个用于查询 DNS 名称服务器的灵活命令行工具。 host 命令:它是用于执行 DNS 查询的简单程序。 nslookup 命令:它用于查询互联网域名服务器。 fping 命令:它用于向网络主机发送 ICMP ECHO_REQUEST 数据包。 ping 命令:它用于向网络主机发送 ICMP ECHO_REQUEST 数据包。 为了测试,我们创建了一个名为 domains-list.txt 的文件,并添加了以下域。 1、# vi /opt/scripts/domains-list.txt 2、daygeek.com 3、magesh.co.in 4、linuxtechnews.com 方法 1:如何使用 dig 命令查找域的 IP 地址 dig 命令代表 “ 域名信息抓手 Domain Information Groper ”,它是一个功能强大且灵活的命令行工具,用于查询 DNS 名称服务器。 它执行 DNS 查询

批量添加用户脚本--Linux bash

随声附和 提交于 2020-01-07 13:13:56
脚本实例 批量用户添加 for 在读取文件时,任何空白字符都可以自动作为分隔符、while的按行读取使用的是换行符作为标记,所以在这使用while更好 majun@instance-zqtg07w6:~/bash_scripts$ vim useradd_while02.sh majun@instance-zqtg07w6:~/bash_scripts$ vim users.txt majun@instance-zqtg07w6:~/bash_scripts$ cat users.txt username001 password001 username002 password002 username003 password003 username004 password004 usernmae005 paswword005 majun@instance-zqtg07w6:~/bash_scripts$ cat useradd_while02.sh #!/bin/bash while read LINES do USERNAME = ` echo $LINES | cut -f1 -d ' ' ` PASSWORD = ` echo $LINES | cut -f2 -d ' ' ` echo -n "Username: $USERNAME PASSWORD: $PASSWORD "

sed学习系列---第3/3部分

蓝咒 提交于 2020-01-07 08:32:30
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> --- 简介 在这篇 sed 系列的总结性文章中,Daniel Robbins 带您体验 sed 的真正力量。在介绍完几个重要的 sed 脚本之后,他将通过将一个 Quicken .QIF 文件转换成可读文本格式来演示一些基本 sed 脚本的编写。该转换脚本不仅实用,而且还是展现 sed 脚本编写能力的极佳示例。 ---强健的 sed 在 第二篇 sed 文章中,我提供了一些示例来演示 sed 的工作原理,但是它们当中很少有示例能实际做特别 有用 的事。在这篇 sed 系列的最后文章中,我要改变那种方式,并使用 sed 来做实际的事。我将为您显示几个示例,它们不仅演示 sed 的能力,而且还做一些真正巧妙(和方便)的事。例如,在本文的后半部,将为您演示如何设计一个 sed 脚本来将 .QIF 文件从 Intuit 的 Quicken 金融程序转换成具有良好格式的文本文件。在那样做之前,我们将看一下不怎么复杂但却很有用的 sed 脚本。 --- 文本转换 第一个实际脚本将 UNIX 风格的文本转换成 DOS/Windows 格式。您可能知道,基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。有时可能需要将某些 UNIX 文本移至

通过Shell脚本用JDBC连数据库脱离项目框架执行Java业务流程

人盡茶涼 提交于 2020-01-07 08:19:15
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一.概述 如果项目中需要使用到定时任务来完成某些业务,一般有两种做法:定时任务依赖于项目;定时任务用批处理(windows执行)或者shell脚本(Linux)启动,不依赖于项目。 个人觉得,定时任务不依赖于项目的方式更优!独立执行,不会影响到应用的性能。 二.用jdbc连接数据库写业务 不能使用hibernate等高级方式,或者公司框架使用的高级工具。因为shell脚本不依赖于项目,独立执行的。 用jdbc写简单的增删改查业务的demo,具体可参考:http://blog.csdn.net/yanzi1225627/article/details/26950615 最后,把完成业务的类通过Eclipse导出成jar,用以shell调用。 三.批处理、shell脚本 bat文件: .\jdk1.6.0\bin\java -Xms512m -Xmx512m -XX:NewRatio=3 -classpath .;./lib/mysql-connector-java-5.1.29.jar;./lib/match.jar com.test.web.Match shell脚本: /usr/java/jdk1.6.0_32/bin/java -Xms512m -Xmx512m -XX:NewRatio=3

test_app.sh

夙愿已清 提交于 2020-01-06 21:47:56
Google 为保证 Android Go 基本性能所做的测试脚本. 需要配合 Linux 和 Userdebug 版本使用. 该测项主测 APP 启动时间已经 PSS、GPU Info 等指标. 错误警报 & 错误原因 测试脚本通过 shell am start 启动 Activity 来进行测量. 有些 Activity 组件名字带有 "$" 字符无法被 shell 传递, 导致 Activity 无法正常启动而导致测试中断. 解决方法 修改测试脚本: adb shell am start -S -W "'''"$package/$activity"'''">/dev/null 来源: 51CTO 作者: 注定分享 链接: https://blog.51cto.com/13726600/2110203

linux下lampp的启动和停止脚本

天涯浪子 提交于 2020-01-05 08:29:56
今天试着写了lampp的启动停止脚本,和上一篇的tomcat的启动停止有一点小区别,就是lampp启动之后有很多的进程号,如果按照tomcat的停止脚本写就会出错,下面做细细的介绍 1.lampp的停止脚本 ①lampp停止脚本编写 #vi stop_lampp.sh pid=`ps -ef|grep lampp|grep -v grep|wc -l` ##定义变量pid,等号两边不能为空,··是Esc下面的两点,代表执行的是命令,此处使用wc -l来统计进程的个数 pid1=`ps -ef|grep lampp|grep -v grep| awk '{print $2}'` ##获取进程号 a=0 if [ $pid -gt $a ] ##判断pid的个数是否大于0,如果大于0即返回true,"-gt"即左边的值比右边的值大即为true then kill -9 $pid1 ##如果为真(即lampp已经启动)就杀掉进程 echo "lampp is stop...." ##输出lampp is stop... else echo "lampp is not running...." ##如果为假(lampp未启动)就输出lampp is not running.... fi ##结束if语句 完成,使用:wq ②完成脚本的编写之后,就可以验证一下lampp是否可以停止了

常见 Bash 内置变量介绍

谁都会走 提交于 2020-01-04 03:21:47
目录 $0 $1, $2 等等 $# $* 与 "$*" $@ 与 "$@" $! $_ $$ $PPID $? $BASH $BASH_VERSION $EUID 与 $UID $GROUPS $HOME $HOSTNAME $IFS $PATH $OLDPWD $PWD $PS1 $PS2 $PS4 $0 执行 Bash 脚本时,Bash 会自动将脚本的名称保存在内置变量 $0 中。因为 $0 基于的是实际的脚本文件名称,而不是在脚本中进行硬编码,所以在重命名脚本文件的名称后,不需要修改脚本的内容。比如下面的脚本片段: #!/bin/bash ARGS=3 # 这个脚本需要 3 个参数. E_BADARGS=65 # 传递给脚本的参数个数不对. echo "Args number is : $#" echo $0 if [ $# -ne "$ARGS" ] # 测试脚本的参数个数。 then echo "Usage: $(basename $0) first-parameter second-parameter third-parameter" exit $E_BADARGS fi # 开始干正事儿 在上面的代码中我们使用了 $(basename $0) 的写法,这是因为 $0 会包含脚本文件的路径,为了让输出看起来清爽一些,我用 $(basename $0)

Linux高阶命令使用

谁说胖子不能爱 提交于 2020-01-04 00:36:56
1、awk [root@mysql nginx]# cat access.log | awk 'substr($9,1,3)>200' #查看访问日志中,过滤非200状态码的日志请求 # substr($4,20) :表示从第四个字段里的第20个字符开始,一直到设定的分隔符 结束 # substr($4,1,3) :表示从第四个字段里的第1个字符开始,截取3个字符结束 # substr($4,3,6) : 表示从第四个字段里的第3个字符开始,截取6个字符结束 2、getopts getopts指定参数,获取值。同样还有一个作用类似的选项getopt,可以自行百度查看其区别。 [root@mysql nginx]# vim test.sh #脚本内容如下 #!/bin/bash while getopts “:h:p:” optname;do case “$optname” in “h”) host_ip=$OPTARG ;; “p”) host_port=$OPTARG ;; “?” ) echo “不知道此选项” ;; “:”) echo “此选项没有值” ;; “*”) echo “错误信息” ;; esac done echo "IP是${host_ip},端口是${host_port}" #执行效果如下 [root@mysql nginx]# sh test.sh -h