AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-255177

TheSebM8's questions

Martin Hope
TheSebM8
Asked: 2018-05-16 02:37:42 +0800 CST

shell 数组变量中的元素/字数

  • 7

我已经查看了如何在 SO 上使用 shell 计算字符串中的字数的问题,它解释了如何计算变量内的字数。

但这仅在我的变量中计算一个单词,所以我不知道如何修复它。

我有以下变量:

vmfarm1=(host1.com host2.com host3.com host4.com )
maximus=(host11.com host 12.com host 13.com)
firefly=(host5.com)

我需要找到一种方法将所有主机名计入变量内的一个数字中。

在此之后,被计算在内的数字必须用作该行中的变量。

我努力了:

echo "$input" | wc -w
printf ' \n|/4.vmfarm1 ' >>  textfile.txt

我必须4自己将以上内容写入数字,并且需要自动完成,这就是我需要变量的原因。

bash array
  • 5 个回答
  • 17213 Views
Martin Hope
TheSebM8
Asked: 2018-04-06 23:39:51 +0800 CST

crontab /bin/sh 语法 [重复]

  • -1
这个问题在这里已经有了答案:
如何在 cron 选项卡作业中执行“日期”? (6 个回答)
4年前关闭。

我自己无法找到答案。

由于 cron 使用 /bin/sh,我得到了语法错误。我有一个 cron 作业,其中使用以下命令

2,17,32,47 * * * * tar -czvf /opt/SOMEFILES /var/lib/$(date +"%Y/%m/%d")

或者

2,17,32,47 * * * * tar -czvf /opt/$(date +"%Y/%m/%d")/somefiles /var/lib/$(date +"%Y/%m/%d")

基本上,这只是一个例子,真正的 cron 工作有点不同。试图给出某种类型的例子。

$(date +"%Y/%m/%d")这是我不确定如何在 Cron 中使用的部分。

我如何在 cron 中使用它?curdate 甚至可以是它所在的文件夹。

linux bash
  • 2 个回答
  • 1406 Views
Martin Hope
TheSebM8
Asked: 2018-04-04 23:26:44 +0800 CST

文件夹内的文件更改其权限

  • 0

我正在努力解决以下问题。我已阅读以下指南:在 Linux 上获取新文件以继承组权限 然而,这对我没有帮助。

(pgcluu是一个postgresql集群监控程序)

我在用Debian server

我有一个文件夹 /var/www/pgcluu

在那个文件夹里面我有 stats reports文件夹。我已将stats文件夹权限和所有权更改为 postgres。 chmod -R postgres:postgres /var/www/pgcluu(所以整个文件夹是 postgres 的所有者)

另一方面,pgCluu 正在收集数据并在stats文件夹内生成文件。看起来像。 /var/www/pgcluu/stat/2018/04/04/09 基本上/year/month/day/hour/ 在hour文件夹里面我有像

-rw-r-----+ 1 postgres postgres    44 Apr  4 10:20 pg_stat_connections.csv
-rw-r-----+ 1 postgres postgres   940 Apr  4 10:20 pg_stat_database_conflicts.csv
-rw-r-----+ 1 postgres postgres  2479 Apr  4 10:20 pg_stat_database.csv
-rw-r-----+ 1 postgres postgres     1 Apr  4 10:20 pg_stat_replication.csv
-rw-r-----+ 1 postgres postgres     0 Apr  4 10:20 pg_stat_statements.csv
-rw-r-----+ 1 postgres postgres    88 Apr  4 10:20 postgresql.auto.conf
-rw-r-----+ 1 postgres postgres 21425 Apr  4 10:20 postgresql.conf
-rw-r-----+ 1 postgres postgres 70009 Apr  4 10:20 sysinfo.txt

这只是一个例子,还有很多文件。

这些文件pgcluu_collectd每分钟生成一次(你可以更改它)但是它们需要重写,因此它需要有rw- rw- ---权限才能这样做。(所有者和组必须对文件进行读写)每次我自己更改它时,pgcluu_collectd 都会rw- r-- ---再次使文件具有权限。

因此,文件是否会从文件夹继承权限/var/www/pgcluu/stats

root@p12: getfacl /var/www/pgcluu/stats/

# file: var/www/pgcluu/stats/
# owner: postgres
# group: postgres
# flags: -s-
user::rwx
group::rwx
other::---
default:user::rwx
default:group::r-x
default:group:postgres:r-x
default:mask::r-x
default:other::---

并在文件上

root@p12:getfacl /var/www/pgcluu/stats/2018/04/04/10/pg_hba.conf 
# file: var/www/pgcluu/stats/2018/04/04/10/pg_hba.conf
# owner: postgres
# group: postgres
user::rw-
group::r-x          #effective:r--
group:postgres:r-x      #effective:r--
mask::r--
other::---
linux permissions
  • 1 个回答
  • 81 Views
Martin Hope
TheSebM8
Asked: 2018-03-29 22:34:08 +0800 CST

Bash 变量保持或保持值/数据

  • 0

关于这篇文章:用 KB/MB/GB/TB/PB... 后缀总结数字

我有几台机器上装有较旧的 Debian 版本,并且无法升级到较新版本的 Debian,这意味着该coreutils软件包不包含numfmt. 我试图找到另一种方法来获取它(machine is Debian 7.6),但我被迫使用另一种方法来获取我的磁盘大小。

我目前正在使用以下内容:

lshw -class disk -class storage | grep size: | cut -d "(" -f2 | cut -d ")" -f1 | sed -e 's/[^0-9]/ /g' | paste -sd+ | bc

我可以轻松获得大小,但我也需要获得 GB/TB 甚至 MB。

如果我使用:

lshw -class disk -class storage | grep size: | cut -d "(" -f2 | cut -d ")" -f1

我明白了

160GB 
160GB

在我的其他机器上,我会举个例子:

2TB
2TB
2TB

有没有办法在变量中的数字之后保存单词然后打印出来?

此外,为了消除机器拥有多个不同尺寸的驱动器的机会,例如

500GB
2TB
3TB

这样我的命令很遗憾地不起作用,它会给你505.

linux scripting
  • 1 个回答
  • 275 Views
Martin Hope
TheSebM8
Asked: 2018-03-29 04:11:33 +0800 CST

检查是否存在可执行文件,如果不存在则安装

  • 1

我用谷歌搜索并找到了这个帖子:链接到帖子。 从那里我找到了一个控制是否安装了以下程序/工具的命令。所以我决定投入使用。

#!/bin/bash
set -x

programs=$(bc nmap coreutils xmlstarlet)
if [ $(dpkg-query -W -f='${Status}' "$programs" 2>/dev/null | grep -c "ok installed") -eq 0 ];
then
apt-get update | apt-get install "$programs" -y;
fi

我这样做正确吗?或者这有什么问题吗?

我只需要一种方法,program/tool name然后programs variable它会在我的机器上运行它。

linux debian
  • 2 个回答
  • 1989 Views
Martin Hope
TheSebM8
Asked: 2018-03-29 00:11:58 +0800 CST

一种在主机上查找开放端口的方法

  • 6

我知道我可以nmap用来查看特定机器上打开了哪些端口。但我需要的是一种从主机端本身获取它的方法。

目前,如果我nmap在其中一台机器上使用来检查另一台机器,我会举个例子:

smb:~# nmap 192.168.1.4

PORT    STATE  SERVICE
25/tcp  open   smtp
80/tcp  open   http
113/tcp closed ident
143/tcp open   imap
443/tcp open   https
465/tcp open   smtps
587/tcp open   submission
993/tcp open   imaps

有没有办法在主机本身上做到这一点?不是从远程机器到特定主机。

我知道我能做到

nmap localhost 

但这不是我想要做的,因为我会将命令放入通过所有机器的脚本中。

编辑:

这种方式,nmap显示22 5000 5001 5432 6002 7103 7106 7201 9200但lsof command显示给我22 5000 5001 5432 5601 6002 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7201 7210 11211 27017

linux nmap
  • 6 个回答
  • 34288 Views
Martin Hope
TheSebM8
Asked: 2018-03-26 23:44:51 +0800 CST

修复 bash 脚本

  • 2

目前,我正在努力让 2 个代码在我的 bash 脚本中工作。它们都单独工作,但是一旦它们都在代码中,它们就不会了。

var=$(cat /sys/block/vda/queue/rotational 2>/dev/null || cat /sys/block/sda/queue/rotational 2>/dev/null)
dtype='nil'
if [ $var = 0 ]; then
dtype=' SSD '
elif [ $var = 1 ]; then
        dtype=' HDD '
fi


var1=$(lsmod | grep kvm | awk 'NR==1{print $3}'  2>/dev/null)
vtype = 'no'
if [ $var1 = 0 ]; then
        vtype=' no '
else
    vtype = 'yes'
fi

printf '$dtype' '$vtype'
echo $dtype $vtype

第一个变量var应该保存旋转文件的值。Asks0适用于 SSD,1适用于 HDD。

第二个变量var1检查​​您的机器中是否存在虚拟化。如果它持有的数字是0,则vtype设置为no,如果是其他数字,则vtype设置为yes。如果我在不同的代码文件上执行这些命令,它们可以完美运行。但我需要他们两个在一起。有什么建议么?

linux bash
  • 1 个回答
  • 777 Views
Martin Hope
TheSebM8
Asked: 2018-03-22 05:16:37 +0800 CST

bash脚本中的多个If语句[重复]

  • 1
这个问题在这里已经有了答案:
如果命令成功或失败,如何有条件地做某事 10 个答案
4年前关闭。

我不擅长 bash,我可以做一些基本的事情,但是当涉及到多个 if 语句时,我对他们来说是理所当然的。

我目前发表了以下声明。

var=$(cat /sys/block/vda/queue/rotational)
dtype='nil'
if [ $var = 0 ]; then
        dtype=' SSD '
elif [ $var = 1 ]; then
        dtype=' HDD '
fi

由于许多机器使用 sda 而不是 vda,我正在寻找一种方法来使它有多个?if 语句(至少我是这么理解的)

基本上。如果第一个 var=$(cat /sys/block/vda/queue/rotational)命令给我和错误,它不会打印出那个。它会选择这个命令。(仅当第一个不起作用时)

var1=$(cat /sys/block/sda/queue/rotational)
dtype='nil'
if [ $var = 0 ]; then
        dtype=' SSD '
elif [ $var = 1 ]; then
        dtype=' HDD '
fi
bash shell-script
  • 1 个回答
  • 2624 Views
Martin Hope
TheSebM8
Asked: 2018-03-22 03:50:14 +0800 CST

在 awk 中舍入一个数字

  • 1

我正在尝试找到一种方法来四舍五入一些数字。

我发现的主题:https ://stackoverflow.com/questions/2395284/round-a-divided-number-in-bash

我在我的 bash 脚本中使用以下命令..

免费-h | gawk '/Mem:/{print $2}' | awk 'FNR == 1 {打印 $1 "B"}')

以下代码将显示我已安装的总内存量。目前,我得到 3.7GB。问题是,我需要将其四舍五入到 4GB。

我有一个脚本,它向我的机器请求一堆信息,并将其全部回显。(Prolly 应该使用不同的东西,但还没有尝试过其他任何东西,因为这是我正在从事的项目之一。

memory=$(free -h | gawk '/Mem:/{print $2}' | awk 'FNR == 1 {print $1 "B"}')

回声$内存

现在它回显了 3.7GB,如下所述。我尝试了不同的方法,但似乎无法达到 4GB。

linux awk
  • 3 个回答
  • 5815 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve