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에서 언어를 독일어로 사용하지만, 루트 비로그인 셸(cron에서 호출되는 셸)에서는 영어로 설정됩니다.

:-(

netstat의 출력도 마찬가지입니다.

알겠습니다. 팁을 주셔서 감사합니다.

관련 정보