로컬 FTP 서버를 생성하는 중이며 컴퓨터가 부팅될 때 실행하려면 다음 스크립트가 필요합니다.
#!/bin/bash
while [ 1 ];
do
chmod 2777 /home/ftp/folder;
chmod -R 777 /home/ftp/folder;
sleep 60;
done
이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
rc.local 파일에 넣으려고 했지만 이로 인해 서버가 전혀 제대로 부팅되지 않습니다. 또한 스크립트 실행 내에서 차이가 발생하는 경우 이 스크립트를 sudo로 실행해야 합니다.
어떤 도움이나 아이디어라도 감사하겠습니다. 감사합니다.
답변1
cronjob을 사용하는 것은 어떻습니까?
놓다
#!/bin/bash
chmod 2777 /home/ftp/folder
chmod -R 777 /home/ftp/folder
스크립트 파일에 넣고 1분마다 호출합니다.
sudo crontab -e
다음을 사용하여 호출합니다.
* * * * * /path/to/script.sh
답변2
- 스크립트에서 루프를 제거하세요.
- 스크립트를 적당한 디렉토리(예:
/usr/local/sbin/
) 에 배치합니다. - cron 작업 설명을 /etc/cron.d/에 배치합니다. 예:
* * * * * myuser /usr/local/sbin/myscript
이렇게 하면 스크립트가 1분마다 실행됩니다. 그런 다음 완전히 안전하려면 인스턴스가 한 번만 실행되도록 하는 방법을 추가해야 합니다(예: 다른 인스턴스를 완료하는 데 1분 이상 걸릴 경우 실행되지 않음). 이는 일반적으로 잠금 파일을 통해 수행됩니다.