我必须在机器上复制文件。而且数据量非常大。现在服务器需要正常服务,并且通常有一个特定的繁忙时间范围。那么有没有办法以一种方式运行这样的命令,如果服务器达到繁忙时间,它会暂停进程,当它超出该范围时,它会恢复它?
预期结果
cp src dst
if time between 9:00-14:00 pause process
After 14:00 resume cp command.
Run Code Online (Sandbox Code Playgroud) 我有一群用户只需要将文件上传到他们设置的 homedirs。我认为 sftp 就足够了,但我不希望他们通过 shell 登录。那么有可能吗?我的平台是centos 7,用户的homedirs被存储可以说/personal/$user
我使用这些设置创建了用户
useradd -m -d /personal/user1 -s /sbin/nologin
Run Code Online (Sandbox Code Playgroud)
为用户分配了密码,然后当我使用 sftp 登录机器时,它说无法连接。
假设我有一个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)
换句话说,我想对脚本中的最后一行做一些不同的事情。
我在 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.
好的,这是一个简短的问题。我只是碰巧知道使用pushd命令,我们可以将更多工作目录添加到我们的列表中,这很方便。但是有没有办法让这个列表永久化,这样它就可以在重启或注销后继续存在?
我有主机,我可以在其中在单节点架构或分布式架构上设置应用程序。
所以我有一个库存。
[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) 我有一台需要迁移到远程磁盘的本地机器。我怎样才能用 dd 做到这一点?我知道命令的本地格式
dd if=/dev/sdx of=/dev/sdx count=x bs=x
Run Code Online (Sandbox Code Playgroud)
但是如何通过 ssh 直接从本地到远程呢?
我有 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)
我得到了 - …
我有一个文件,其字段为ID、Designation、ParentID和ParentDesignation。文件内容如下。
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,这基本上意味着:
结果将是以下一个。
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,但我需要使用脚本。
我有 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)