小编yae*_*ael的帖子

bash + 使用 printf 以特殊格式打印

我刚刚编写了以下 bash 脚本来检查 Linux 机器列表上的 ping 访问:

for M in $list
 do
   ping -q -c 1  "$M" >/dev/null 
          if [[ $? -eq 0 ]]
   then
    echo "($C) $MACHINE CONNECTION OK"
   else
    echo "($C) $MACHINE CONNECTION FAIL"
   fi

   let C=$C+1
done
Run Code Online (Sandbox Code Playgroud)

这打印:

 (1) linux643 CONNECTION OK
 (2) linux72 CONNECTION OK
 (3) linux862 CONNECTION OK
 (4) linux12 CONNECTION OK
 (5) linux88 CONNECTION OK
 (6) Unix_machinetru64 CONNECTION OK
Run Code Online (Sandbox Code Playgroud)

如何printf在我的 bash 脚本中使用(或任何其他命令)来打印以下格式?

 (1) linux643 ............ CONNECTION OK
 (2) linux72 ............. CONNECTION OK …
Run Code Online (Sandbox Code Playgroud)

bash shell-script printf

14
推荐指数
3
解决办法
6万
查看次数

找到两个连续的重复行

如何在文件中找到两个连接的重复行

例如在这个文件中,我们只有两个串联的重复行

 OQ-63/ECC/Global/MES/CZ/adWerum-CZ-Adapter
 OQ-63/ECC/Global/MES/54/ECC-MRP-S05
 OQ-63/ECC/Global/MES/CZ/adWerum-CZ-Adapter
 OQ-63/ECC/Global/MES/54/ECC-MRP-S05.ear
 OQ-63/ECC/Global/MES/CZ/adWerum-CZ-Adapter <--
 OQ-63/ECC/Global/MES/CZ/adWerum-CZ-Adapter <--
 OQ-63/ECC/Global/MES/54/ECC-MRP-S05.xml
Run Code Online (Sandbox Code Playgroud)

sed awk perl text-processing

8
推荐指数
2
解决办法
3363
查看次数

检查远程机器是否在 Veritas 集群中

如何验证远程计算机是否是 Veritas 集群的一部分?

我刚刚创建了以下 ssh 命令来验证远程机器是 VRTS 集群还是 Linux 可用性 Red Hat 集群

 LinuxTSR=198.23.12.5
 ssh LinuxTSR "ls /usr/sbin/clustat /opt/VRTS 2>/dev/null" | wc -l
Run Code Online (Sandbox Code Playgroud)

如果我得到的数字不是 0,则它是 VRTS 或 Red Hat 集群。但是这种方法并不是那么优雅。请帮我找到更优雅的方法来验证远程机器是否在集群中。

linux scripting cluster

7
推荐指数
1
解决办法
624
查看次数

atop + what is the PAG in the atop

when I run the atop -r /var/log/atop/...

I see from the atop screen this

 PAG | scan  641376 |  steal 635209 | stall
Run Code Online (Sandbox Code Playgroud)

the PAG is colored with red

can someone explain what PAG explain from the atop , and what this problem means ?

linux rhel atop

7
推荐指数
1
解决办法
8298
查看次数

Linux + 如何自动压缩旧的日志文件

/var/log/httpd文件夹下,创建的文件容量巨大!!!

我可以使用什么解决方案来自动压缩旧文件(可以logrotate处理这个问题)?

如果是,如何配置Linux机器以压缩该文件夹下的旧文件?

第二个问题:这些文件的含义是什么?

  13:16:50 root@BillGates-Machine:/var/log/httpd # ls -ltr
  -rw-r--r-- 1 root root      7612 Jan 30 05:51 ssl_error_log-20160131
  -rw-r--r-- 1 root root  16170199 Jan 31 03:29 ssl_request_log-20160131
  -rw-r--r-- 1 root root  14677353 Jan 31 03:29 ssl_access_log-20160131
  -rw-r--r-- 1 root root 425621646 Jan 31 03:38 access_log-20160131
  -rw-r--r-- 1 root root     77267 Jan 31 03:38 error_log-20160131
  -rw-r--r-- 1 root root     11233 Feb  7 03:43 ssl_error_log-20160207
  -rw-r--r-- 1 root root  16398688 Feb  7 03:44 ssl_request_log-20160207
  -rw-r--r-- 1 root root …
Run Code Online (Sandbox Code Playgroud)

linux tar zip compression

6
推荐指数
1
解决办法
2万
查看次数

查找和删除具有特定日期的文件

如何删除创建的文件Aug 7的名称DBG_A_sql*/tmp

如以下示例:

-rw-r--r-- 1 root    root   51091 Aug  7 11:22 DBG_A_sql.2135
-rw-r--r-- 1 root    root   15283 Aug  7 11:22 DBG_A_sql.2373
-rw-r--r-- 1 root    root   51091 Aug  7 11:22 DBG_A_sql.2278
-rw-r--r-- 1 root    root    9103 Aug  7 11:22 DBG_A_sql.2485
-rw-r--r-- 1 root    root    9116 Aug  7 11:22 DBG_A_sql.2573
-rw-r--r-- 1 root    root    9140 Aug  7 11:22 DBG_A_sql.2679
-rw-r--r-- 1 root    root   15695 Aug  7 11:22 DBG_A_sql.2897
Run Code Online (Sandbox Code Playgroud)

linux find rm

6
推荐指数
3
解决办法
7万
查看次数

sysctl -a 从哪里打印所有内核参数?

我们有一台 Linux 机器(Redhat 6)

当我们打印所有参数时,/etc/sysctl.conf我们只看到大约 20 个,但是当我们执行时,sysctl -a我们看到 200 多个。

那么从哪里sysctl -a打印所有这些参数?

或者例如当我们做

sysctl -w variable=value
Run Code Online (Sandbox Code Playgroud)

如何知道变量应该保存在哪里?

如何知道每个参数是动态的还是静态的?

linux sysctl

5
推荐指数
1
解决办法
6716
查看次数

/sys 中的 SCSI 设备条目与 /dev 中的磁盘之间的对应关系

/sys/class/scsi_device文件夹下我有以下内容:

 root@linux01:/sys/class/scsi_device # ls
 1:0:0:0  2:0:0:0  2:0:1:0  3:0:0:0
Run Code Online (Sandbox Code Playgroud)

我如何知道这些设备中的每一个如何与磁盘相关?

例如,如何确定设备2:0:1:0是否为磁盘/dev/sdb

root@linux01:/sys/class/scsi_device # sfdisk -s
/dev/sdb:  15728640
/dev/sdc: 524288000
/dev/sda:    153600
[...]
# more /etc/redhat-release  ( Linux VM machine ) 
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Run Code Online (Sandbox Code Playgroud)

linux scsi devices disk

4
推荐指数
1
解决办法
2091
查看次数

linux + 单用户模式并设置网络

我有 linux redhat 机器版本 6.5

我重新启动机器并以单用户模式工作,

然后我使用默认的 gw 地址在 eth0 上设置网络

/etc/sysconfig/network-script/ifcfg-eth0
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,服务网络重启后,netstat -rn 中没有出现 dg 地址

我的问题 - 我们可以在单用户模式下设置默认 gw 地址并启动网络吗?

linux networking ifconfig

4
推荐指数
1
解决办法
1万
查看次数

将命令的输出重定向到 /dev/null

我从我的 bash 脚本运行以下行,以便在远程机器上运行脚本 /usr/run.pl

  xargs -P "$numprocs" -I '{}' -n  1 -- perl -e 'alarm shift; exec @ARGV' -- "$timeout" ssh -nxaq -o ConnectTimeout=5 -o StrictHostKeyChecking=no '{}' /usr/run.sh < <(echo -e "$node") 
Run Code Online (Sandbox Code Playgroud)

但我在控制台上得到以下标准输出

Connection to 143.6.22.4 closed by remote host.
 xargs: perl: exited with status 255; aborting
Run Code Online (Sandbox Code Playgroud)

我需要在语法中放置1>/dev/null以避免出现此消息?

ssh io-redirection perl shell-script

4
推荐指数
1
解决办法
2万
查看次数