centosのcronは空のファイルのみを生成します。

centosの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@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では、ログインシェルと非ログインシェルの環境が大きく異なるようです。

root は root-login-shell で言語をドイツ語で使用しますが、root 以外のログであるシェル (cron で呼び出されるシェル) では英語に設定されます。

:-(

netstatの出力も同様です。

わかりました。ヒントありがとうございます。

おすすめ記事