centos 上的 cron 只创建空文件

centos 上的 cron 只创建空文件

我知道这个问题已经被提问和回答了很多次,我想我已经阅读了所有这些:-(但仍然没有得到它的工作:-(

好的,在 root 的 cron 中使用 CentOS 版本 8.2.2004(核心)我调用一个脚本

*/1 * * * * /bin/bash /home/getSSHsessions.sh

该脚本只是创建一个包含一些进程列表的文件

[root@myhost]# cat /home/getSSHsessions.sh

    #!/bin/bash
    /usr/bin/netstat -tnpa | /usr/bin/grep "VERBUNDEN.*sshd" > /mnt/ramdisk/sshsession.ls

但输出只是一个空文件

[root@myhost]# ll /mnt/ramdisk/
-rw-r--r--. 1 root     root      0  5. Okt 19:33 sshsession.ls

我对此感到疯狂。真的不知道该去哪里寻找了。

啊,是的,该脚本可以在 cmd 行上以 root 用户身份正常运行。然后它会创建应有的输出。

[root@myhost]# cat /home/getSSHsessions.sh
#!/bin/bash

/usr/bin/netstat -tnpa | /usr/bin/grep "VERBUNDEN.*sshd" > /mnt/ramdisk/sshsession.ls
[root@saprouter iteanova]# /home/getSSHsessions.sh
[root@myhost]# ll /mnt/ramdisk/
-rw-r--r--. 1 root     root     404  6. Okt 10:46 sshsession.ls
[root@myhost]# cat  /mnt/ramdisk/sshsession.ls
tcp        0      0 192.168.137.4:54782     192.168.137.2:80        VERBUNDEN   309654/sshd: myuser
tcp        0      0 192.168.137.4:22        95.208.219.123:33300    VERBUNDEN   309622/sshd: myuser
tcp        0      0 192.168.137.4:22        95.208.219.123:60744    VERBUNDEN   308085/sshd: myuser
tcp        0      0 192.168.137.4:22        35.203.68.135:36564     VERBUNDEN   310513/sshd: root [

答案1

好的,我知道问题的原因了。

有人向我指出了语言设置,这是正确的。

看来在 CentOS 中,登录 shell 和非登录 shell 之间的环境有很大不同。

虽然 root 在 root-login-shell 中使用德语作为语言,但在 root 非登录 shell(从 cron 调用的 shell)中设置为英语。

:-(

netstat 的输出也是如此。

好的,谢谢你的提示。

相关内容