cronjob의 bash 스크립트는 /sbin/fake-hwclock을 실행할 수 없습니다.

cronjob의 bash 스크립트는 /sbin/fake-hwclock을 실행할 수 없습니다.

내 것을 편집했습니다뿌리 crontab주기적으로 스크립트를 실행합니다.

sudo crontab -e

아래와 같이 마운트된 USB에 있는 다음 스크립트를 실행해야 합니다.뿌리:

* * * * * /mnt/usb0/fake-hwclock-cron.sh

그런 다음 script(1)은 fake-hwclock-cron.shscript(2)를 실행하여 fake-hwclock현재 시간을 저장합니다.

#!/bin/sh
echo "$(fake-hwclock save)"

스크립트(2) fake-hwclock(위치:"/sbin/fake-hwclock"fake-hwclock.data) 마운트된 USB의 파일(3) 에 시간을 저장합니다 .

USB는 다음 옵션을 사용하여 자동으로 설치됩니다.

PARTUUID=1c921a37-01 /mnt/usb0 ext4 defaults,auto,users,rw,nofail 0 0

파일 권한:

(1) -rwxrwxrwx 1 pi   pi    /mnt/usb0/fake-hwclock-cron.sh
(2) -rwxr-xr-x 1 root root  /sbin/fake-hwclock
(3) -rwxrwxrwx 1 pi   pi    /mnt/usb0/fake-hwclock.data

내가 올바르게 이해했다면 파일 (1) fake-hwclock-cron.sh과 (3) 에 대해 fake-hwclock.data모든 사용자가 읽기/쓰기/실행을 할 수 있습니다. (2) 파일의 경우 fake-hwclock모든 사용자가 읽기/실행이 가능합니다.

..하지만 지금은 이러한 권한을 무시하세요. 그렇죠?예약 된 일들, sudo로 실행, 스크립트 실행(1 fake-hwclock-cron.sh)권리도 마찬가지인가요?

더 혼란스러운 점은 (1) / (2) 스크립트를 모두 실행하지 않고 실행할 수 있다는 점입니다.셸에 권한이 있지만 실행할 수 없습니다.바로 크론 작업입니다.


그럼 내가 왜 이런 결과를 얻었는지 설명해 줄 수 있는 사람이 있나요?"허가가 거부되었습니다"실수?

/bin/sh: 1: /mnt/usb0/fake-hwclock-cron.sh: Permission denied


폴리스티렌충분히 설명하였기를 바랍니다. 그렇지 않은 경우 알려주세요.

답변1

출력에 따르면 mount |grep usb0마운트 지점이 옵션으로 마운트되어 noexec스크립트 실행을 방지하지만 다음과 같이 셸 인터프리터를 사용하여 직접 실행할 수 있음을 보여줍니다.

* * * * * sh /path/to/script.sh

후속 오류에 대해fake-hwclock: not found, 전체 명령을 제공해야 합니다 fake-hwclock.

자세히 알아보기실행되지 않음.

관련 정보