本站用于记录日常工作内容,虚拟化云计算,系统运维,数据库DBA,网络与安全。
AI生成用来清理iptables规划的脚本1,有多台主机使用iptables写入的相同的规则,给input链一个关于auth的规则,具体规划如下:2,现需要删除,使用ai生成了一个shell脚本,经过修改后内容如下# 检查iptables中是否有匹配"auth"的规则if iptables -nL | grep -q "auth"; then    # 获取匹配"auth"的规则所在行号    i=$(iptables -nL | grep -n "auth" | awk -F: '{print $1}')    # 如果行号为3,则删除该规则并从/etc/sysconfig/iptables中删除匹配的行    if [ "$i" -eq 3 ]; then        iptables -D INPUT 1        sed -i '/auth/d' /etc/sysconfig/iptables    fifi
Shell Sed指定字符前面与后面添加文本字符sed -i 's/指定的字符/需要添加的字符&/' 文件名称修改Linux启动配置将 GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"改为 GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap net.ifnames=0 biosdevname=0 rhgb quiet"在rhgb之前添加 net.ifnames=0 biosdevname=0# 备份配置文件\cp /etc/default/grub /etc/default/grub.baksed -i 's/ rhgb/ net.ifnames=0 biosdevname=0&/' /etc/default/grub# cat /etc/default/grub......GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap net.ifnames=0 biosdevname=0 rhgb quiet"指定字符后面添加sed -i 's/指定的字符/&需要添加的字符/' 文件名称在GRUB_CMDLINE_LINUX=" 后面添加 ipv6.disable=1# 备份配置文件\cp /etc/default/grub /etc/default/grub.baksed -i 's/GRUB_CMDLINE_LINUX="/&ipv6.disable=1 /' /etc/default/grub# cat /etc/default/grub......GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=centos/root rd.lvm.lv=centos/sw...
 
0
我们运行 linux 服务器的主要目的是通过运行程序提供服务,比如 mysql、web server等。因此管理 linux 服务器主要工作就是配置并管理上面运行的各种服务程序。在 linux 系统中服务程序的管理主要由 init 系统负责。如同笔者在《初识 systemd》一文中的介绍,linux 的 init 系统已经从最初的 sysvinit 进化到了如今的 systemd。本文主要介绍在 systemd 环境中如何编写运行服务的配置文件。unit(单元)的配置文件Unit 是 systemd 进行任务管理的基本单位,我们在前文中已经介绍过,service 类型的 unit 代表一个后台服务进程。接下来我们就详细的介绍如何配置 service 类型的 unit。下面我们先来看一个简单的服务配置:[Unit] Description=Prometheus Server Documentation=https://prometheus.io/docs/introduction/overview/ After=network.target [Service] User=prometheus Restart=on-failure WorkingDirectory=/usr/local/share/prometheus/ ExecStart=/usr/local/share/prometheus/prometheus \ -config.file=/usr/local/share/prometheus/prometheus.yml [Install] WantedBy=multi-user.target 这是笔者主机上 prometheus 服务的配置文...
Linux系统使用shell杀掉大量批量的类似进程碰到需要杀掉某一类进程的时候,如何批量杀掉这些进程,使用awk命令是很好的选择。 代码:1ps -ef|grep aaa|grep -v grep|awk  '{print "kill -9 " $2}' |sh1. ps -ef|grep aaa|grep -v grep   这是大家很熟悉的命令,这里就不再多说,就是从当前系统运行的进程的进程名中包含aaa关键字的进程。2. 后面部分就是awk命令了,一般awk命令的格式为:awk ' pattern {action} '    print是打印,kill -9 是强制停止进程的命令, $2就是前面有ps -ef命令得出的结果的第二列上显示的内容。下面举一个简单的例子:#ps -ef|grep boco|grep -v grep    root  9884  9883  0 17:10:01 ?         0:00 sendmail -oem -oi -froot boco    root  9883  9880  0 17:10:01 ?         0:00 /usr/bin/mail boco    boco 11112     1  0  Dec 24  ?         0:00 ./boco_appmaster -d /home/boco/agen...
 
0

JAVA应用程序启动脚本

发表者:admin分类:Shell脚本2022-06-05 10:58:54 阅读[528]
JAVA应用程序启动脚本#!/bin/bash#进入当前目录 并自动查找jar包cd $(dirname $0)APP_HOME=$(pwd)APP_NAME="$(cd ${APP_HOME} && find -name '*.jar')"#使用说明,用来提示输入参数usage() { echo "Usage: sh robotcenter.sh [start|stop|restart|status]" exit 1}#检查程序是否在运行is_exist() { pid=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}') #如果不存在返回1,存在返回0 if [ -z "${pid}" ]; then  return 1 else  return 0 fi}#启动方法start() { is_exist if [ $? -eq 0 ]; then  echo "${APP_NAME} is already running. pid=${pid}" else  # nohup java -jar ${APP_NAME}  >/dev/null 2>&1 &  #Xms Xmx  指定虚拟内存上下限  nohup ${JRE_HOME}/bin/java -Xms16384M -Xmx16384M -XX:SurvivorRatio=8 -XX:+PrintGCDetails -Xloggc:./logs/gc.log -XX:+PrintHeapAtGC / -XX:+PrintGCDateStamps -jar ${APP_NAME} >/dev/null 2>&1 &  echo "..." ...
shell判断变量的值是否为空方法判断一个脚本中的变量是否为空,我写了一个这样的shell脚本:#!/bin/sh#filename: test.shpara1=if [ ! -n $para1 ]; then echo "IS NULL"else echo "NOT NULL"fi然后把该脚本:test.sh通过chmod +x 改为可以执行的脚本,执行后输出的结果为: NOT NULL很是奇怪,最后,通过查询一些资料发现,|可以通过如下方式判断一个shell变量是否为空:1. 变量通过" "引号引起来      如下所示:,可以得到结果为 IS NULL.#!/bin/shpara1=if [ ! -n "$para1" ]; then echo "IS NULL"else echo "NOT NULL"fi2. 直接通过变量判断      如下所示:得到的结果为: IS NULL#!/bin/shpara1=if [ ! $para1 ]; then echo "IS NULL"else echo "NOT NULL"fi3. 使用test判断    得到的结果就是: dmin is not set! #!/bin/shdmin=if test -z "$dmin"then echo "dmin is not set!"else echo "dmin is set !"fi4. 使用""判断#!/bin/shdmin=if [ "$dmin&...
如何在Linux中查找和删除空目录和文件 1. 使用 find -empty 查找当前目录中的空目录: $ find . -type d -empty 2. 使用以下命令删除当前目录下的所有空目录: $ find . -type d -empty -exec rmdir {} \; 3. 使用 find -empty 查找当前目录中的空文件: $ find . -type f -empty 注: 通常,某些程序会将空文件创建为占位符、锁定文件或用于通信的套接字文件。 4. 当前目录(和子目录)下有多少个空文件?要计算当前目录下的空文件数,请将 find 命令通过管道传送到 wc -l。 $ find . -type f -empty | wc -l 5. 当前目录(和子目录)下有多少个非空文件? $ find . -type f -not -empty | wc -l 注: Find 选项 -not 会还原其后面的选项。 在上面的所有示例中,将 ( . ) 点替换为要搜索文件的任何其他目录路径。
正则表达式及文本处理三剑客 前言 一、正则表达式 基本正则表达式元字符: 扩展正则表达式元字符(需要egrep或者转义) 二、文本处理三剑客 grep sed awk 前言 玩转Linux操作系统必须会shell,会shell必须知道正则表达式及grep、sed、awk文本处理三剑客。好多年前有个大佬告诉我,不知道正则不要说自己会Linux,为此我专门学习这部分内容,这篇文章是对我学习内容的整理,也是我经常查阅的一篇笔记,也希望他可以帮助到...
linux shell脚本查找重复行/查找非重复行/去除重复行/重复行统计去除重复行sort file |uniq 查找非重复行sort file |uniq -u 查找重复行sort file |uniq -d 统计sort file | uniq -c 去除重复的行,并生成新的文件sort file |uniq > new_file
 
0
1、新建一个文本文档touch test.file2、在指定行前插入 一行内容:sed -i 'ni\x' test.file        表示向test.file文件里的第n行的前面添加x内容sed -i 'na\x' test.file       表示向test.file文件里的第n行的后面添加x内容sed -i '/m/i\x' test.file     表示向test.file文件里匹配m字符串的行的前面添加x内容sed -i '/m/a\x' test.file    表示向test.file文件里匹配m字符串的行的后面添加x内容标红的 -i 这个参数意味着在源文件上进行修改,而不是产生新文件3、在指定行后插入多行内容没有发现很好的方法首先,将需要插入的内容写道一个txt里sed -i '/ str/r a.txt' test.file 表示向test.file文件里匹配到str的行后加a.txt里面的内容
    总共5页,当前第1页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5