시스템에 크론 작업을 설정하는 방법

시스템에 크론 작업을 설정하는 방법

저는 Linux를 처음 접했고 이전 경험이 없습니다. 이 질문을 하려고 이 계정을 열었습니다.

하나 설치해야겠어요예약 된 일들

나는 짧은 가이드를 따랐다여기. 음, 설치가 성공한 것 같아요. 을 입력하면 crontab -l표시되는 결과에서 해당 내용을 볼 수 있기 때문입니다 Putty. Putty그냥 쓸게요


문제(이것이 문제인지는 확실하지 않지만 그런 것 같습니다):

다른 개발자/대학에 Putty를 사용하여 자신의 자격 증명으로 서버에 로그인하도록 요청했습니다. 다른 사용자를 나타냅니다. 그런 다음 유형에 대해 물었습니다 crontab -l. 결과 :

사용자 이름에 대한 crontab이 없습니다.

그래서 cron 작업이 나를 위해 방금 설치한 것 같습니다.

질문):

시스템 전체에 어떻게 설치합니까? 모든 사람을 위해 설치하는 방법은 무엇입니까? 모든 사람용으로 설치하면 사용자 수만큼 실행됩니까? 예를 들어, 시스템에 3명의 사용자가 있고 시스템 전체에 cron 작업이 설치되어 있는 경우 예약된 작업이 실행될 때 각 사용자에 대해 3번 실행됩니까? 아니면 특정 사용자 이름을 대상으로 하는 크론 작업만으로 충분합니까? "아니요"이고 시스템 전체에 설치해야 하는 경우 설치 방법과 단계이 가이드뭔가 다른 일을 해야 하나요?


크론 작업의 역할에 대한 정보는 거의 없습니다. 시스템/서버에 데이터베이스가 있고 cron 작업은 매월 1일 오후 8시에 다른 원격 데이터베이스에서 데이터베이스를 업데이트하도록 되어 있습니다. 그런데 저는 .shcron 작업을 설치하곤 했습니다.

나를 도와주려고 노력한 모든 사람에게 감사드립니다.

답변1

각 사용자에게는 자신만의 예약된 작업이 있습니다. 매일 오후 4시에 학교에서 아이들을 데리러 오면 이웃이 오후 4시에 아이들을 데리러 오지 않을 것입니다.

Cron 작업은 각 사용자가 등록하거나(이 경우 해당 사용자의 권한으로 실행) 시스템 수준에서 등록할 수 있습니다(이 경우 시스템 관리자가 선택한 사용자로 실행). 예약된 각 작업은 예약된 시간마다 한 번씩 실행됩니다.

작업 항목을 복사하는 것 외에 여러 사용자에 대해 동일한 명령을 실행하는 작업을 설정하는 기능은 없습니다. 동일한 리소스를 사용하기 때문에 동시에 많은 작업을 예약하는 것은 좋지 않습니다.

왜 여러 사용자가 동일한 작업을 실행하도록 하려는지 혼란스럽습니다. 당신은 데이터베이스를 소유하고 있습니까, 아니면 당신과 당신의 동료가 각자 자신의 데이터베이스를 가지고 있습니까? 데이터베이스가 있는 경우 한 번만 처리하면 되며 하나의 작업만 필요합니다. 귀하와 동료 모두 작업 결과에 액세스할 수 있도록 하려면 출력을 한 번 생성하고 두 사람 모두가 읽을 수 있도록 하십시오. 두 개의 데이터베이스가 있는 경우 각각은 유사한 작업을 실행하고 데이터베이스 주소와 각 작업의 출력 파일 위치를 조정해야 합니다.

답변2

파일을 /etc/cron.das root(또는 있는 경우 sudo)에 넣을 수 있습니다. 이런 식으로 할 수 있습니다 ...

# cat > /etc/cron.d/mycronjob <<EOT
* * * * * /bin/logger "Hello from cron"
EOT

...그러면 cron 작업이 다음과 같이 시스템 로그에 기록되는 것을 볼 수 있습니다...

# tail -f /var/log/messages

관련 정보