내 것을 편집했습니다뿌리 crontab
주기적으로 스크립트를 실행합니다.
sudo crontab -e
아래와 같이 마운트된 USB에 있는 다음 스크립트를 실행해야 합니다.뿌리:
* * * * * /mnt/usb0/fake-hwclock-cron.sh
그런 다음 script(1)은 fake-hwclock-cron.sh
script(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
.
자세히 알아보기실행되지 않음.