지속적인 루프를 수행하는 우분투 서버 부팅 시 bash 스크립트를 실행합니다.

지속적인 루프를 수행하는 우분투 서버 부팅 시 bash 스크립트를 실행합니다.

로컬 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분 이상 걸릴 경우 실행되지 않음). 이는 일반적으로 잠금 파일을 통해 수행됩니다.

관련 정보