小编csn*_*sny的帖子

如何设置 crontab PATH 变量

我在从 crontab 运行脚本时遇到问题。经过一番研究,我明白这个问题是因为 PATH 参数不包含 /sbin。

我查看了 /etc/crontab 中包含的内容:

PATH=/sbin:/bin:/usr/sbin:/usr/bin
Run Code Online (Sandbox Code Playgroud)

作为测试 - 打印 PATH 变量的简单 cron 作业:

* * * * * echo $PATH &> /root/TMP.log
Run Code Online (Sandbox Code Playgroud)

输出是:

cat /root/TMP.log
/usr/bin:/bin
Run Code Online (Sandbox Code Playgroud)

我不明白这种行为...如何设置 PATH 变量..?或者更好 - 如何向它添加路径?

cron centos path

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

删除早于特定文件的文件

我需要从文件夹中删除早于特定文件的所有文件。
在 CentOS 7 上运行 bash。

我对此有一个解决方案,但我认为应该有一种更优雅的方法:

reference_file=/my/reference/file

get_modify_time()
{
    stat $1 | grep -Po "Modify: \K[0-9- :]*"
}

pit=$(get_modify_time $reference_file)
for f in /folder/0000* ; do [[ "$pit" > "$(get_modify_time $f)" ]] && rm $f ; done
Run Code Online (Sandbox Code Playgroud)

bash centos shell-script

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

systemctl 重启 network.service 后,名称服务器被删除

我正在使用 centos 7,并且在将网络接口从 dhcp 设置为静态 ip 配置时出现问题。

我编辑/etc/resolv.conf并运行systemctl restart network.service
我所做的更改消失了,并创建了一个通用文件:

cat /etc/resolv.conf
# Generated by NetworkManager


# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
Run Code Online (Sandbox Code Playgroud)

注意:ifcfg-ens160 文件中的 PEERDNS="yes"。
PEERDNS=,其中是以下之一: yes — 如果设置了 DNS 指令,则修改 /etc/resolv.conf。如果使用 DHCP,则是默认值。
no — 不修改 /etc/resolv.conf。

取自此处:https : //access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/Reference_Guide/s1-networkscripts-interfaces.html

我想这与它有关,但是在设置为 dhcp 时它运行良好,所以我希望如果它/etc/resolv.conf自动配置它会成功。

解决方法是/etc/resolv.conf在服务重新启动后进行编辑。
但是我想了解这种行为,以及如何避免将文件重置为此默认失败消息。

dns centos networkmanager resolvconf network-interface

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

更改xfs根文件系统的标签

我正在运行 centos 7 服务器。
我想更改根文件系统(xfs)的标签。
xfs_admin -L "newlabel" /dev/mapper/centos-root失败是因为它无法在已安装的文件系统上运行。

是否可以更改已安装文件系统的标签?

有没有办法在安装根文件系统之前在引导期间运行类似的东西?

linux boot centos xfs

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