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-314925

BlackCrystal's questions

Martin Hope
BlackCrystal
Asked: 2022-10-04 23:25:38 +0800 CST

如何在应用新更新之前备份 DST 配置?

  • 3

要检查时区的“夏令时”配置,我们可以使用以下命令:zdump -v <timezone>
但是有时国家/地区的政策会发生变化。可以通过此命令下载和应用新的更新:zic <timezone>
例如(这只是一个示例,澳大利亚没有更改):

  [root@test DST]# zdump -v Australia/Canberra | grep '2023'
  Australia/Canberra  Sat Apr  1 15:59:59 2023 UTC = Sun Apr  2 02:59:59 2023 AEDT isdst=1 gmtoff=39600
  Australia/Canberra  Sat Apr  1 16:00:00 2023 UTC = Sun Apr  2 02:00:00 2023 AEST isdst=0 gmtoff=36000 
  Australia/Canberra  Sat Sep 30 15:59:59 2023 UTC = Sun Oct  1 01:59:59 2023 AEST isdst=0 gmtoff=36000
  Australia/Canberra  Sat Sep 30 16:00:00 2023 UTC = Sun Oct  1 03:00:00 2023 AEDT isdst=1 gmtoff=39600
  [root@test DST]# zic australasia
  [root@test DST]# zdump -v Australia/Canberra | grep '2023'
  Australia/Canberra  Sat Apr  2 16:59:59 2023 UTC = Sun Apr  2 02:59:59 2023 AEDT isdst=1 gmtoff=39600
  Australia/Canberra  Sat Apr  2 17:00:00 2023 UTC = Sun Apr  2 02:00:00 2023 AEST isdst=0 gmtoff=36000
  Australia/Canberra  Sat Sep 29 16:59:59 2023 UTC = Sun Oct  1 01:59:59 2023 AEST isdst=0 gmtoff=36000
  Australia/Canberra  Sat Sep 29 17:00:00 2023 UTC = Sun Oct  1 03:00:00 2023 AEDT isdst=1 gmtoff=39600

如果出现错误并且我想恢复更改怎么办?有没有办法备份以前的配置然后应用新的更改?如果可以进行备份,那么我该如何恢复呢?

centos backup
  • 1 个回答
  • 50 Views
Martin Hope
BlackCrystal
Asked: 2022-05-24 21:17:02 +0800 CST

如何在有或没有空间的情况下获得价值?

  • 2

我有一个 bash 脚本,其中包含一组数据库名称,连接到每个数据库名称并在它们上运行存储过程。我需要从存储过程的输出中获取值并在脚本的其余部分使用它们。许多输出是这样的:

  CONDBAT= 10000 MDBAT= 400 ADBAT= 143 QUEDBAT= 167924 INADBAT= 0  

然后我注意到一些数据库在没有空格的情况下有不同的输出:

  CONDBAT=4000 MDBAT=1200 ADBAT=263 QUEDBAT=7924 INADBAT=0  

我需要在 QUEDBAT 之后获取值并将其存储为变量。我的问题是我无法获得两个输出的值。我尝试了很多命令。例如:

  grep -Eo 'QUEDBAT=([[:space:]]+[^[:space:]]+){1}'
  grep -vE -e 'QUEDBAT=[[:space:]]{4}' -e '^[^[:space:]]*$'
  grep -oP '(?<=QUEDBAT\=)(\s+)?\K([^ ]*)'  

但他们不会返回两个输出的值。QUEDBAT 忽略任何空格后如何获取值?

我无法编写单独的脚本,因为我需要一个脚本中所有数据库的所有输出。每次我运行存储过程时,值都会改变,所以你不能确定每个部分的值是 3 位还是 4 位。而且我无法得到介于两者之间的内容=,ADBAT因为有时输出的顺序会不一样。

bash shell-script
  • 5 个回答
  • 231 Views
Martin Hope
BlackCrystal
Asked: 2022-03-17 03:59:30 +0800 CST

如何检查 DST(夏令时)是否在 CentOS 不同版本中处于非活动状态?

  • 0

我很少有使用 CentOS 7 和 6 作为操作系统的服务器。以前,夏令时的时间每年更改两次,操作系统会在每台服务器上自动执行此操作。
现在突然通过了一项改变夏令时政策的法律。我想确保在这些服务器上禁用 DST,以便操作系统不会像以前那样更改时间。我希望这些更改基于我们的中央时间服务器发生。
在 CentOS 7 上,我可以验证此命令未激活 DST:timedatectl status
输出:DST active: no

但我无法在 CentOS 6 上安全地确认 DST 已停用。我到处搜索,但找不到显示此内容的命令或文件。那么如何检查 DST 在 CentOS 6 中是否处于非活动状态?

linux centos
  • 1 个回答
  • 1439 Views
Martin Hope
BlackCrystal
Asked: 2020-02-08 22:25:27 +0800 CST

在行的特定部分用逗号替换空格

  • 0

这是数据库查询的输出:

    1 KALI,REGISTERED
    2 KALI,PROCESSING
    3 KALI,RECEIVED
    1 KALI,SUBMITTED
    7 KALI,SUCCEEDED
    4 WEKA,PROCESSING

输出每次都会更改,并且行数可能与上次运行查询时不同,但格式始终如下:number space word,word. 我需要他们是这样的:number,word,word。我试图用查询本身来处理这个问题,但数据库不支持这个,所以我决定用 Linux 来处理这个问题。我用这个命令用逗号替换空格:sed -e 's/\s\+/,/g' command.output.我把这个输出:

,1,KALI,REGISTERED,
,2,KALI,PROCESSING,
,3,KALI,RECEIVED,
,1,KALI,SUBMITTED,
,7,KALI,SUCCEEDED,
,4,WEKA,PROCESSING,  

但我期待这样的事情,所以我可以将它存储在一个数组中:

1,KALI,REGISTERED
2,KALI,PROCESSING
3,KALI,RECEIVED
1,KALI,SUBMITTED
7,KALI,SUCCEEDED
4,WEKA,PROCESSING  

尝试了更多命令,它们都没有工作。我怎样才能得到这个输出?

text-processing sed
  • 1 个回答
  • 1260 Views
Martin Hope
BlackCrystal
Asked: 2019-10-07 22:27:22 +0800 CST

数组只返回一个元素

  • 1

我正在尝试生成一个脚本,该脚本使用 .ftp 将一些文件传输到服务器lftp。当我在 shell 中运行这些命令时:

DBNAME=TESTDB  
ls -t /data*/${DBNAME,,}Backup/$DBNAME.0.db21.DBPART000.`date +%Y%m%d`*

我有 2 条路径:

/data4/testdbBackup/TESTDB.0.db1.DBPART000.20191007010004.001
/data5/testdbBackup/TESTDB.0.db1.DBPART000.20191007010004.002

但是当我使用这个命令创建一个数组并循环遍历它时,我只得到第一个元素。这是脚本:

echo "lftp -u $FTPUSER,$FTPPASSWD $FTPSRV  <<end_script
mkdir BackUp
cd BackUp
mkdir $CURRENTDATE
cd $CURRENTDATE
mkdir $IP
cd $IP " >> $FTPFILES
for DBNAME in "${DBNAME_ARRAY[@]}"
do
BACKUP_FILE_COUNT=$(ls -t /data*/${DBNAME,,}Backup/$DBNAME.0.db21.DBPART000.`date +%Y%m%d`*|wc -l)
COUNTER=($(echo $COUNTER + $BACKUP_FILE_COUNT | bc))
mapfile -t BACKUP_FILE_ARRAY < <(ls -t /data*/${DBNAME,,}Backup/$DBNAME.0.db21.DBPART000.`date +%Y%m%d`*)
    for BACKUP_FILE in "${BACKUP_FILE_ARRAY=[@]}"
            do
            echo "lcd $(dirname $BACKUP_FILE)" >> $FTPFILES
            echo "put $(basename $BACKUP_FILE)" >> $FTPFILES
    done
done
echo "quit
end_script
exit 0  " >> $FTPFILES

该脚本的输出是:

 lftp -u someuser,somepassword 1.1.1.1  <<end_script
 mkdir BackUp
 cd BackUp
 mkdir 19-10-07
 cd 19-10-07
 mkdir 192.168.22.22
 cd 192.168.22.22
 lcd /data4/testdbBackup
 put TETSTDB.0.db21.DBPART000.20191007010004.001
 quit
 end_script
 exit 0  

在更改目录的那一部分中,我希望这样:

lcd /data4/testdbBackup
put TETSTDB.0.db21.DBPART000.20191007010004.001
lcd /data5/testdbBackup
put TETSTDB.0.db21.DBPART000.20191007010004.002

我还在echo "${BACKUP_FILE_ARRAY=[@]}"我的脚本中添加了一个,它只有一个元素。
我之前在这个问题中遇到过这个问题,我在许多脚本中使用了该解决方案,并且它们运行良好。我在这里想念什么?

bash
  • 1 个回答
  • 529 Views
Martin Hope
BlackCrystal
Asked: 2019-09-15 21:13:39 +0800 CST

如何将 2 个数组组合成一个关联数组

  • 2

我需要将ARRAY1和组合ARRAY2成一个关联数组,例如ARRAY. 我正在使用这段代码:

 mapfile -t ARRAY1 < <(/bin/awk '{ print $ 1 }' /output/gen_branch)
 mapfile -t ARRAY2 < <(/bin/awk '{ print $ 6 }' /output/gen_code )
 declare -A ARRAY

 for ((i=0; $i<${#ARRAY1[@]}; i++))
 do
 ARRAY+=( ["${ARRAY1[i]}"] = "${ARRAY2[i]}" )
 done

 ##added this loop to check output
 for value in "${!ARRAY[@]}"
 do
 echo "branch: $value"
 echo "code: ${ARRAY[$value]}"
 done 

我希望这样的东西可以在bash的其他部分使用它们(重要的是第一个元素的值是第一个元素等等): ARRAY1ARRAY2

ARRAY1=( b1 b2 b3 )
ARRAY2=( c1 c2 c3 )
ARRAY= ( [b1]=c1 [b2]=c2 [b3]=c3 ) 

但是当我运行我的代码时,我得到了这个错误:

line 7: ARRAY: [b1]: must use subscript when assigning associative array
line 7: ARRAY: =: must use subscript when assigning associative array
line 7: ARRAY: c1: must use subscript when assigning associative array
(and it goes on like this for every entry)  

我想我在第 7 行做错了。我应该怎么做才能解决这个问题?

bash
  • 1 个回答
  • 3702 Views
Martin Hope
BlackCrystal
Asked: 2019-07-28 22:23:06 +0800 CST

使用 sed 在脚本中插入多行

  • 0

我正在尝试在脚本中的特定行之前插入变量。这是我正在使用的代码:

var1=$(echo "database1=")
var2=$(echo "database2=")
var3=$(echo "database3=")

sed -i "/#variables/i \
$var1\
$var2\
$var3" /data1/create_database 

我希望create_database在我运行上面的命令后会是这样:

database1=
database2=
database3=
#variables 

但我得到了这个结果:

database1= database2= database3=
#variables

尝试了几种方法都没有奏效。我应该怎么办?

linux text-processing
  • 3 个回答
  • 2654 Views
Martin Hope
BlackCrystal
Asked: 2019-06-23 19:57:12 +0800 CST

将用户输入读入数组,直到用户输入特定条目

  • 0

我需要创建一个 bash 来获取用户的输入并将它们插入到一个数组中,直到用户输入一个特定的东西。例如,如果我运行脚本:

enter variables: 3 4 7 8 ok  

我得到这个数组:array=( 3 4 7 8 )

或者:

enter variables: 15 9 0 24 36 8 1 ok

我得到这个数组:array=( 15 9 0 24 36 8 1 )

我怎么能做到这一点?

bash shell-script
  • 1 个回答
  • 2708 Views
Martin Hope
BlackCrystal
Asked: 2019-06-23 03:47:29 +0800 CST

删除特定的 sysctl.conf 设置

  • 0

在我的一些机器上,我在 sysctl.conf 中有这个设置块(每台机器上的数字不同):

#Size Of RAM (In GB):   23
kernel.shmmni=  2547
kernel.shmmax=  365482458
kernel.shmall=  25471984
#kernel.sem=<SEMMSL> <SEMMNS> <SEMOPM> <SEMMNI>
kernel.sem=     325     12496852  74      3654
kernel.msgmni=  1204
kernel.msgmax=  57452
kernel.msgmnb=  74235

这个块的位置有时是不同的。我想写一个 bash 来删除这个旧设置并插入新配置。因为它是 sysctl.conf,所以我需要安全地进行操作。我怎样才能用sedor删除它们grep并确保只有这个块会被删除?

grep sed
  • 1 个回答
  • 1024 Views
Martin Hope
BlackCrystal
Asked: 2019-06-13 03:47:03 +0800 CST

重启后恢复 Bash 脚本

  • 3

我有一个 bash 脚本,它更改了操作系统和数据库中的一些配置,它需要重新启动,然后需要运行其他命令。像这样的东西:

 newvalue1=
 ip=
 .
 .
 some commands
 .
 .
 reboot
 .
 .
 some other commands

怎么做才能做到这一点?

(堆栈交换上还有 2 个类似的问题,Q1和Q2,但很久以前就被问过了,用户不再主动向他们提问。我再次询问是否有新的想法和答案)

bash shell-script
  • 1 个回答
  • 1288 Views
Martin Hope
BlackCrystal
Asked: 2019-06-02 23:37:44 +0800 CST

在运行之前检查脚本的输出

  • 0

我有一个执行一些数据库作业的 bash 脚本。该脚本的部分内容:

DBNAME_ARRAY=( mydb1 mydb2 )  
DB2PATH=/bin/db2
BACKUPLOGPATH=/data1/`date +%y-%m-%d`_BACKUP.out 
IP=170.10.20.11 
.
.
for DBNAME in "${DBNAME_ARRAY[@]}"
do
BACKUPSQL="BACKUP DATABASE $DBNAME TO /dbdata1/${DBNAME,,}Backup"
$DB2PATH connect to $DBNAME 
.
.

在执行此操作之前,我想知道变量是否正确放置在每一行中。这可能吗?
例如我想要这样的东西:

  BACKUP DATABASE mydb1 TO /dbdata1/mtdb1Backup
  /bin/db2 connect to mydb1 
  BACKUP DATABASE mydb1 TO /dbdata2/mtdb1Backup
  /bin/db2 connect to mydb2  

在我检查一切都正确后,我运行它们。

bash shell-script
  • 1 个回答
  • 206 Views
Martin Hope
BlackCrystal
Asked: 2019-05-13 23:27:08 +0800 CST

如何运行必须由特定用户和另一个没有密码的用户运行的 bash

  • 0

我有 2 个用户。test1我创建它/sbin/nologin并且没有密码。test2有sudo特权和密码。

我有这个脚本:/data/tempWork/fazitst必须在test2. 现在我想运行这个脚本,test1但我希望它在test2.

我试过这个test1:
/bin/su -c "/data/tempWork/fazitst " - test2

但它没有用。我正在从应用程序运行此命令,因为我无法使用ssh我无法正确调试它。没有日志。我用root尝试了这个命令,它奏效了。

但我想它需要密码。那么我如何在没有密码 的情况test1下运行我的脚本呢?test2

bash shell-script
  • 1 个回答
  • 197 Views
Martin Hope
BlackCrystal
Asked: 2019-04-06 21:12:39 +0800 CST

从文本中间的动态列创建一个数组

  • 1

我需要知道有多少应用程序连接到我的数据库。为此,我应该运行一个存储过程。输出是这样的:

  CMD_EXEC: 1
  IFCA_RET: 0
  IFCA_RES: 0
  XS_BYTES: 0
  IFCA_GRES: 0
  GXS_BYTES: 0
  RETURN_CODE: 0
  MSG: NULL

  ROWNUM      TEXT
  1           DSNL200I  -DSNC DISPLAY LOCATION REPORT FOLLOWS-
  2           LOCATION                                       PRDID    T ATT CONNS
  3           ::170.0.0.236                                  SQL09079 S        277
  4           ::170.0.0.243                                  SQL10057 S          0
  5           ::170.0.0.249                                  JCC04160 S          0
  6           ::170.0.0.252                                  JCC03660 S          0
  7           ::170.0.0.204                                  JCC04160 S          0
  8           ::170.0.0.20                                   SQL10057 S          1
  9           ::170.0.0.21                                   JCC03660 S          0
  10          ::170.0.1.21                                   JCC04080 S       1440
  11          ::170.0.1.231                                  JCC03660 S          1
  12          ::170.0.7.2                                    JCC03640 S          0
  13          ::170.0.8.241                                  JCC03640 S          0
  14          ::170.0.8.142                                  JCC03690 S          0
  15          ::192.168.7.2                                  SQL09079 S          0
  16          ::192.168.1.4                                  JCC03650 S          5
  17          ::192.168.1.5                                  JCC03650 S          6
  18          ::192.168.1.0                                  JCC03690 S          0
  19          ::192.168.4.0                                  JCC03610 S          7
  20          ::192.168.4.0                                  JCC03610 S          2
  21          ::192.168.4.0                                  JCC04080 S        504
  22          ::192.168.1.7                                  SQL10055 S          1
  23          DISPLAY LOCATION REPORT COMPLETE

   "ADMIN_COMMAND_DB21" RETURN_STATUS: 0 

该列CONNS显示连接数。我需要用这个列创建一个数组并找到它的最大值。例如这样的:

 #/bin/bash

 #number of logs to offload
 #number of ADBAT
 #number of QUEDBAT
 #number of DSCDBAT
 #nmber of connections

 DB2PATH=/home/db2inst1/sqllib/bin/db2

 $DB2PATH connect to mydb >> /dev/null
 conn_arr=$($DB2PATH "CALL SYSPROC.ADMIN_COMMAND_DB21 ('-dis 
 location',17,LOC,NULL,?,?,?,?,?,?,?,?)"  )
 echo "$conn_arr" | ????
 $DB2PATH connect reset >> /dev/null

每次这个脚本的结果和行号都会改变。我应该用什么?

bash shell-script
  • 1 个回答
  • 131 Views
Martin Hope
BlackCrystal
Asked: 2019-03-10 03:44:38 +0800 CST

CentOS 6.9 中的内核错误

  • 0

最近我在我的/var/log/messegesand中看到了这些消息dmesg | less:

 kernel: INFO: task flush-8:32:1065 blocked for more than 120 seconds.
 kernel:      Not tainted 2.6.32-696.el6.x86_64 #1
 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this 
 message.
 kernel: flush-8:32    D 0000000000000004     0  1065      2 0x00000000
 kernel: ffff88063389b840 0000000000000046 0000000000000000 0005120000000001
 kernel: ffff880636304ce0 ffff8806363098c0 00022e760ddb7d3a ffff88062db31360
 kernel: 0000000000011200 000000012494c97a ffff88062e0fbad8 ffff88063389bfd8
 kernel: Call Trace:
 kernel: [<ffffffff811d11e0>] ? sync_buffer+0x0/0x50
 kernel: [<ffffffff8154ae83>] io_schedule+0x73/0xc0
 kernel: [<ffffffff811d1220>] sync_buffer+0x40/0x50
 kernel: [<ffffffff8154b73a>] __wait_on_bit_lock+0x5a/0xc0
 kernel: [<ffffffff811d11e0>] ? sync_buffer+0x0/0x50
 kernel: [<ffffffff8154b818>] out_of_line_wait_on_bit_lock+0x78/0x90
 kernel: [<ffffffff810a68c0>] ? wake_bit_function+0x0/0x50
 kernel: [<ffffffff811d1540>] ? end_buffer_async_write+0x0/0x190
 kernel: [<ffffffff811d13c6>] __lock_buffer+0x36/0x40
 kernel: [<ffffffff811d26c5>] __block_write_full_page+0x305/0x330
 kernel: [<ffffffff811d1540>] ? end_buffer_async_write+0x0/0x190
 kernel: [<ffffffff811d27d0>] block_write_full_page_endio+0xe0/0x120
 kernel: [<ffffffffa0211d00>] ? buffer_unmapped+0x0/0x20 [ext3]
 kernel: [<ffffffff811d2825>] block_write_full_page+0x15/0x20
 kernel: [<ffffffffa021288d>] ext3_ordered_writepage+0x1ed/0x240 [ext3]
 kernel: [<ffffffff81142367>] __writepage+0x17/0x40
 kernel: [<ffffffff8114362d>] write_cache_pages+0x1fd/0x4c0
 kernel: [<ffffffff81009913>] ? __switch_to+0x2f3/0x340
 kernel: [<ffffffff81142350>] ? __writepage+0x0/0x40
 kernel: [<ffffffff81299899>] ? cpumask_next_and+0x29/0x50
 kernel: [<ffffffff81064054>] ? find_busiest_group+0x254/0xa50
 kernel: [<ffffffff81143914>] generic_writepages+0x24/0x30
 kernel: [<ffffffff81143955>] do_writepages+0x35/0x40
 kernel: [<ffffffff811c6f1d>] writeback_single_inode+0xdd/0x290
 kernel: [<ffffffff811c731d>] writeback_sb_inodes+0xbd/0x170
 kernel: [<ffffffff811c747b>] writeback_inodes_wb+0xab/0x1b0
 kernel: [<ffffffff811c7873>] wb_writeback+0x2f3/0x410
 kernel: [<ffffffff8154a68e>] ? schedule+0x3ee/0xb70
 kernel: [<ffffffff811c7b3d>] wb_do_writeback+0x1ad/0x250
 kernel: [<ffffffff8108f000>] ? process_timeout+0x0/0x10
 kernel: [<ffffffff811c7c86>] bdi_writeback_thread+0xa6/0x220
 kernel: [<ffffffff811c7be0>] ? bdi_writeback_thread+0x0/0x220
 kernel: [<ffffffff810a63ae>] kthread+0x9e/0xc0
 kernel: [<ffffffff8100c28a>] child_rip+0xa/0x20
 kernel: [<ffffffff810a6310>] ? kthread+0x0/0xc0
 kernel: [<ffffffff8100c280>] ? child_rip+0x0/0x20  

今天,其中一台 VM 机器重新启动。当我检查时messeges,我看到了上面的消息,然后是一些数据库错误。那个网络有问题,这台机器失去了与其主要的连接,刚刚重新启动。我的问题是:这些内核消息是什么,我应该在哪里搜索问题?他们和网络有关系吗?它只发生在VM机器上吗?

centos kernel
  • 1 个回答
  • 460 Views
Martin Hope
BlackCrystal
Asked: 2019-03-03 22:26:59 +0800 CST

watch 几个命令的输出不清楚

  • 0

我正在我的服务器上恢复数据库备份,我需要观察df -h和恢复实用程序的输出db2pd -utilities。我试过这个:
watch -n 2 "db2pd -utilities && df -h
输出(总结):

    Every 2.0s: db2pd -utilities && df -h    

  Database Member 0 -- Active -- Up 0 days 23:11:19 

  Utilities:
  Address        ID         Type        State      Invoker    Priority   

  0x000000E0     1          RESTORE      0          0          0          


  Progress:
  Address            ID         PhaseNum   CompletedWork                
  0x00003088         1          1          1073745920 bytes                          
  Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3              39G  824M   36G   3% /
 tmpfs                 253G   16K  253G   1% /dev/shm
 /dev/sda2             194M   36M  149M  20% /boot
 /dev/sda1             200M  264K  200M   1% /boot/efi
 /dev/sda4              20G  215M   19G   2% /home
 /dev/sda5              20G  1.4G   17G   8% /opt
 /dev/sda9             166G  6.6G  151G   5% /tempWork
 /dev/sda7             9.7G  152M  9.0G   2% /tmp
 /dev/sda6              20G  227M   19G   2% /var

实际上输出越来越长,我不得不删除一些部分,它们结合在一起变得难以阅读。我应该用什么在它们之间腾出空间?

watch whitespace
  • 1 个回答
  • 81 Views
Martin Hope
BlackCrystal
Asked: 2019-02-18 21:48:08 +0800 CST

重新启动后磁盘分区不会挂载到文件系统

  • 0

我有一台昨晚重新启动的 VM 机器,我们无法通过 ssh 连接到它。我使用了控制台,只看到了它,/并swap用lsblk命令安装:

  NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
  sr0     11:0    1 1024M  0 rom
  sdb      8:16   0    8G  0 disk
  ├─sdb1   8:17   0    2G  0 part 
  └─sdb2   8:18   0    6G  0 part [SWAP]
  sdc      8:32   0   20G  0 disk
  └─sdc1   8:33   0   20G  0 part 
  sde      8:64   0  400M  0 disk
  └─sde1   8:65   0  399M  0 part 
  sda      8:0    0   20G  0 disk
  └─sda1   8:1    0   20G  0 part /
 sdd      8:48   0   20G  0 disk
 └─sdd1   8:49   0   20G  0 part 
 sdf      8:80   0   10G  0 disk
 └─sdf1   8:81   0   10G  0 part   

但是当我跑的时候df -h:

  Filesystem      Size  Used Avail Use% Mounted on
  /dev/sda1        20G  1.2G   18G   7% /
  tmpfs           7.8G     0   7.8G   0% /dev/shm
  /dev/sde1        20G    1.2G  18G   7% /boot
  /dev/sdd1        20G    1.2G  18G   7% /data
  /dev/sdc1        20G    1.2G  18G   7% /opt
  /dev/sdb1        20G    1.2G  18G   7% /var
  /dev/sdf1        20G    1.2G  18G   7% /backup

当我在它们上运行ls -hal时,它们都是空的,除了./我试图卸载和挂载分区时出现分区未挂载的错误。我再次安装它们,例如:

mount /dev/sdf1 /backup

和df -h:

 Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G  1.2G   18G   7% /
tmpfs           7.8G     0  7.8G   0% /dev/shm
/dev/sde1       387M   40M  327M  11% /boot
/dev/sdd1        20G   14G  4.9G  75% /data
/dev/sdc1        20G  1.4G   18G   8% /opt
/dev/sdb1       2.0G  155M  1.8G   9% /var
/dev/sdf1       9.9G  2.4G  7.0G  26% /backup  

一切都很好。我重新启动以测试它。它又发生了。只有/和交换已安装。blkid输出:

   /dev/sdb1: UUID="3a11afe1-52d5-4e31-96a0-66da2c8e70eb" TYPE="ext3"
   /dev/sdf1: UUID="0e1f69a7-36d9-4af1-a537-afaa211e87d7" TYPE="ext3"
   /dev/sdb2: UUID="416970f8-c21b-419b-90d5-eb8eabb685a6" TYPE="swap"
   /dev/sdc1: UUID="d380ddf8-3476-46b3-8e80-9dd3b394dd13" TYPE="ext3"
   /dev/sde1: UUID="b224fa8a-e909-432e-927e-4a98fe2d74d0" TYPE="ext3"
   /dev/sda1: UUID="9407e385-168c-4e37-9651-1de04406b620" SEC_TYPE="ext2" 
   TYPE="ext3"
   /dev/sdd1: UUID="e8439366-d29d-43c3-ad5e-635855f4e42e" TYPE="ext3"

部分cat /etc/fstab输出:

  UUID=9407e385-168c-4e37-9651-1de04406b620 /         ext3    defaults   0 0
  UUID=b224fa8a-e909-432e-927e-4a98fe2d74d0 /boot     ext3    defaults   0 0
  UUID=e8439366-d29d-43c3-ad5e-635855f4e42e /data     ext3    defaults   0 0
  UUID=d380ddf8-3476-46b3-8e80-9dd3b394dd13 /opt      ext3    defaults   0 0
  UUID=3a11afe1-52d5-4e31-96a0-66da2c8e70eb /var      ext3    defaults   0 0
  UUID=416970f8-c21b-419b-90d5-eb8eabb685a6 swap      swap    defaults   0 0
  UUID=0e1f69a7-36d9-4af1-a537-afaa211e87d7 /backup   ext3    defaults   0 0

为什么会这样?

centos filesystems
  • 3 个回答
  • 4874 Views
Martin Hope
BlackCrystal
Asked: 2019-02-05 23:56:43 +0800 CST

使用带有 if 和 z 选项的 awk

  • -1

当我想检查返回值是否为整数时,我在 bash 脚本中使用它:

  if [ -z "$value" ]
    then
    echo 0
    else
    echo $value
  fi

我试图z在 awk 中使用选项与 if。例如我有这一行:

PRIMARY SECONDARY CONNECTED 350 800  

我尝试使用这个:

/bin/awk '{if( -z $1){print "0"}else{print $1}}' script  

无论我$1用$2or$3或$4or替换$5它总是返回0。我是否以错误的方式使用 awk?

bash shell-script
  • 3 个回答
  • 2789 Views
Martin Hope
BlackCrystal
Asked: 2019-01-13 21:22:29 +0800 CST

在CentOS 7中更改root密码[重复]

  • 0
这个问题在这里已经有了答案:
在 RHEL/CentOS 7 中重置密码时使用的 chroot 命令是什么? (2 个回答)
3年前关闭。

我正在阅读有关在 CentOS 7 中更改 root 密码的内容。它与 centOS 6 完全不同。

更改root密码

我想知道这些步骤,例如为什么我应该改变ro?每一步到底发生了什么?

centos password
  • 1 个回答
  • 711 Views
Martin Hope
BlackCrystal
Asked: 2018-12-31 02:52:42 +0800 CST

服务器上的相同脚本出错

  • 0

我在大约 20 台服务器上有这个脚本。

 CASE=$1

 case $CASE in
"multipath")
    status=$(service multipathd status | awk '{gsub(/[.]/,"");print $NF}')
        if [ $status = 'running' ]; then
        echo 0
        else
        echo 1
        fi
  ;;
"hbaport")
        output=0
    port_array=($(cat /sys/class/fc_host/*/port_state))
        for port in ${port_array[@]}
    do
            if [ $port != 'Online' ]; then
        output=1
            fi
        done
            echo $output
  ;;
"netface")
  inter=0
      ifconfig=$(ifconfig)
      interface_array=($(ls -l /etc/sysconfig/network-scripts/ifcfg-* | awk -F '-' '{print $NF}' | grep -iv 'lo'))
      for interface in ${interface_array[@]}
  do
  if [[ $ifconfig == *"$interface"* ]]; then
  operstate=$(cat /sys/class/net/$interface/operstate)
           if [ $operstate != 'up' ]; then
               inter=1
               fi
  fi
      done
      echo $inter
  ;;
 esac

当我运行这个命令时:
/opt/zabbix_agent/share/scripts/OSscript "netface"
它返回:
0
我刚刚将此脚本添加到一个新服务器,当我运行上面的命令时,我得到这个:

: command not foundhare/scripts/OSscript: line 2:
'opt/zabbix_agent/share/scripts/OSscript: line 3: syntax error near 
 unexpected token `in
'opt/zabbix_agent/share/scripts/OSscript: line 3: case $CASE in  

为什么我得到这个错误?操作系统为 CentOS 6.9

bash shell-script
  • 1 个回答
  • 49 Views
Martin Hope
BlackCrystal
Asked: 2018-12-30 04:50:11 +0800 CST

如何使用包含“和”的命令创建别名 [重复]

  • 10
这个问题在这里已经有了答案:
如何在shell中转义引号? (5 个回答)
去年关闭。

前几篇文章有人问如何以百分比显示内存。有人回复:

free | awk '/^Mem/ { printf("free: %.2f %\n", $4/$2 * 100.0) }'

我想知道是否可以将此命令转换为 ~/.bashrc 中的别名。但是别名的语法是:

alias aliasname='command'

我怎样才能做到这一点?该命令同时包含'和"。我尝试了不同的方法,但没有奏效。这甚至可能吗?我错过了什么吗?

bash quoting
  • 2 个回答
  • 1021 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