私はこの質問が何度も要求され答えられたことを知っています。私はそれらをすべて読んだようです:-(しかし、まだ動作していません:-(
いいですね。 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の出力も同様です。
わかりました。ヒントありがとうございます。