小编Sol*_*osa的帖子

有没有办法在 Linux 系统上暂停正在运行的进程并稍后恢复?

我必须在机器上复制文件。而且数据量非常大。现在服务器需要正常服务,并且通常有一个特定的繁忙时间范围。那么有没有办法以一种方式运行这样的命令,如果服务器达到繁忙时间,它会暂停进程,当它超出该范围时,它会恢复它?

预期结果

cp src dst

if time between 9:00-14:00 pause process
After 14:00 resume cp command.
Run Code Online (Sandbox Code Playgroud)

process process-management

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

是否可以在没有 shell 访问权限的情况下授予用户 sftp 访问权限?如果是,它是如何实施的?

我有一群用户只需要将文件上传到他们设置的 homedirs。我认为 sftp 就足够了,但我不希望他们通过 shell 登录。那么有可能吗?我的平台是centos 7,用户的homedirs被存储可以说/personal/$user

我使用这些设置创建了用户

useradd -m -d /personal/user1 -s /sbin/nologin
Run Code Online (Sandbox Code Playgroud)

为用户分配了密码,然后当我使用 sftp 登录机器时,它说无法连接。

sftp

32
推荐指数
2
解决办法
9496
查看次数

有没有一种方法可以指示输入文件行循环中的最后一次迭代?

假设我有一个direction包含以下行的文件

east
north
south
west
south-west
Run Code Online (Sandbox Code Playgroud)

并使用循环并echo在 shell 脚本中生成以下输出:

Direction: east
Direction: north
Direction: south
Direction: west
Last direction: south-west
Run Code Online (Sandbox Code Playgroud)

换句话说,我想对脚本中的最后一行做一些不同的事情。

shell-script text-processing

11
推荐指数
5
解决办法
3194
查看次数

在没有 X-server 时安装 VBox Guest Additions

我在 Windows 8.1 主机上使用 Virtual Box。我已经在“图形模式”下安装了 CentOS 和 Ubuntu,并且有足够的练习。但是现在我想完全切换到“命令行模式”。因此为此创建了一台机器并安装了“CentOS6.6 Basic Server”/“CentOS7 Minimal”。

在 Graphical Mahines 上,我可以使用这几个命令轻松安装 VBox Guest Additions。

yum update
yum install gcc
yum install kernel-devel
sh VBoxLinuxAdditions.run (From mounted Location For CDrom)
Run Code Online (Sandbox Code Playgroud)

但是因为我安装了 CLI 机器并且在它上面尝试了相同的命令时,它没有正确安装,给出了这个错误: Could not find X.Org or Xfree86 Window System, skipping.

command-line virtual-machine centos virtualbox

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

使“pushd”目录堆栈持久化

好的,这是一个简短的问题。我只是碰巧知道使用pushd命令,我们可以将更多工作目录添加到我们的列表中,这很方便。但是有没有办法让这个列表永久化,这样它就可以在重启或注销后继续存在?

bash pushd cwd

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

是否可以根据映射值为 Ansible 角色指定主机?

我有主机,我可以在其中在单节点架构或分布式架构上设置应用程序。

所以我有一个库存。

[STG]
node1

[LIVE]
app_node
db_node
gateway_node
Run Code Online (Sandbox Code Playgroud)

因此,默认值是的变量single可以在 CLI 上更改为distributed

我有一个角色定义

- hosts:
  gather_facts: no
  roles:
      - {role: setup, tags: ['setup', 'orchestra']}
Run Code Online (Sandbox Code Playgroud)

所以我希望主机线根据地图值是动态的

- hosts: 'if single then host == STG else LIVE'
Run Code Online (Sandbox Code Playgroud)

defaults variable ansible

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

如何将本地磁盘添加到远程磁盘?

我有一台需要迁移到远程磁盘的本地机器。我怎样才能用 dd 做到这一点?我知道命令的本地格式

dd if=/dev/sdx of=/dev/sdx count=x bs=x
Run Code Online (Sandbox Code Playgroud)

但是如何通过 ssh 直接从本地到远程呢?

ssh dd

3
推荐指数
1
解决办法
1956
查看次数

如何在 awk 程序中一起使用 AND 和 OR?

我有 2 列文件,如:

$ cat data
a4 b1
a4 c2
a4 b4
z4 c2
Run Code Online (Sandbox Code Playgroud)

我想匹配两列,例如如果(column1 = a4 and column2 = b1)OR(column1 = a4 and column2 = c2) 那么 column3 中的输出应该是

(期望的输出)

a4 b1 matched
a4 c2 matched
a4 b4 -
z4 c2 -
Run Code Online (Sandbox Code Playgroud)

所以我尝试将我的逻辑合并到 1 个 liner awk 中:

$ awk '{print $1, $2, (($1 = a4 && $2 = b1) || ($1 = a4 && $2 = c2) ? "a4-matched" : "-")}' data
Run Code Online (Sandbox Code Playgroud)

我得到了 - …

awk text-processing

3
推荐指数
3
解决办法
331
查看次数

如何使用 awk 进行 vlookup?

我有一个文件,其字段为IDDesignationParentIDParentDesignation。文件内容如下。

A1  M.D-Sales    0    UmbrellaCorp
a1  Sr.Sales    A1
b1  Sr.R&D      B1
b2  Jr.SR&D     B1
a2  Jr.Sales    A1
B1  M.D-R&D      0    UmbrellaCorp
Run Code Online (Sandbox Code Playgroud)

我想为那些缺少第四列的行获取ParentDesignation,这基本上意味着:

  • 读取每一行
  • 从第三列获取ParentID
  • 将其与第一列中的值匹配
  • 将其插入到该孩子面前的第四列 4 中。

结果将是以下一个。

A1  M.D-Sales    0  UmbrellaCorp
a1  Sr.Sales    A1  M.D-Sales
b1  Sr.R&D      B1  M.D-R&D
b2  Jr.SR&D     B1  M.D-R&D
a2  Jr.Sales    A1  M.D-Sales
B1  M.D-R&D      0  UmbrellaCorp
Run Code Online (Sandbox Code Playgroud)

我知道如何在 Excel 中使用 完成相同的任务vlookup,但我需要使用脚本。

scripting awk

3
推荐指数
1
解决办法
294
查看次数

如何将日期从a增加到b?

我有 2 个日期,start=20190903并且end=20210912 想要增加直到开始接近结束,增量是 13 天。

有以下代码,但它超出了结束。

#! /usr/bin/env bash

start="20190903"
end="20210912"

startdate="$(date -d ${start} +'%Y-%m-%d')"
enddate="$(date -d ${end} +'%Y-%m-%d')"
echo ${startdate}
echo ${enddate}

while [ "${startdate}" < "${enddate}" ]; do
    echo ${startdate}
    startdate="$( date -d "${startdate} + 13 days" +'%Y-%m-%d')"
done
Run Code Online (Sandbox Code Playgroud)

bash shell-script date

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