크론 대 아나크론

크론 대 아나크론

저는 cron/anacron이 Linux에서 어떻게 작동하는지 꽤 잘 알고 있습니다. 내 질문은 이것입니다:

  1. /etc/cron.dailyanacron은 로그인 시 실행되며 스크립트가 실행된 지 하루 이상이 지났는지 확인합니다.
  2. anacron은 에서 스크립트를 실행 /etc/cron.daily하고 에서 타임스탬프를 업데이트합니다./var/spool/anacron/cron.daily
  3. 아나크론 종료
  4. 컴퓨터가 24시간 이상 켜져 있다
  5. cron이 실행되어 cron.daily와 일치하는 시간을 감지합니다.
  6. 크론은 그 이후로 아무것도 하지 않습니다test -x anacrontab" == True

내 컴퓨터가 24시간 이상 실행되는 경우 cron은 cron.daily의 스크립트를 어떻게 실행합니까(이것은 Debian 기반 배포판입니다)?

기본값 /etc/crontab(1분마다 실행됨)은 의 존재(또는 더 정확하게는 -x 비트)를 테스트하고 폴더를 찾으면 폴더를 /usr/bin/anacron무시 하지만 작업을 수행하기 위해 anacron을 다시 시작하지 않는 것 같습니다./etc/cron.daily

편집하다:

따라서 cron은 폴더에서 anacron을 시작 /etc/cron.d하지만 컴퓨터가 켜져 있고 매일 오전 7시 30분에 로그인된 경우에만 가능합니다. 약간의 스프레드시트 쿵푸 작업을 수행한 후 의 스크립트가 /etc/cron.daily1분에서 31.5시간 간격으로 실행된다는 결론에 도달했습니다.

전:

시나리오 1:

  • 2021년 5월 23일 오후 11시 59분에 로그인하세요.
  • anacron 타임스탬프가 /etc/cron.daily2021년 5월 23일보다 오래되었다고 가정하면 anacron은 모든 스크립트를 실행 /etc/cron.daily하고 타임스탬프를 2021년 5월 23일로 업데이트합니다.
  • 로그 아웃
  • 2021년 5월 24일 오전 12시에 다시 로그인하세요.
  • anacron은 마지막 실행이 2021년 5월 23일이었고 현재는 2021년 5월 24일임을 확인하므로 anacron은 다음의 모든 스크립트를 실행합니다./etc/cron.daily
  • 실행 간 경과 시간: 1분

시나리오 2:

  • 2021년 5월 23일 오전 12시에 로그인하세요.
  • anacron 타임스탬프가 /etc/cron.daily2021년 5월 23일보다 오래되었다고 가정하면 anacron은 모든 스크립트를 실행 /etc/cron.daily하고 타임스탬프를 2021년 5월 23일로 업데이트합니다.
  • 컴퓨터는 2021년 5월 23일 오전 7시 30분까지 켜져 있고 로그인되어 있습니다.
  • cron은 crontab 파일에서 anacron을 실행합니다./etc/cron.d
  • 타임스탬프가 2021년 5월 23일이므로 아무 일도 일어나지 않습니다.
  • 컴퓨터는 2021년 5월 24일 오전 7시 30분까지 켜져 있고 로그인되어 있습니다.
  • cron은 crontab 파일에서 anacron을 실행합니다./etc/cron.d
  • anacron은 마지막 실행이 2021년 5월 23일이었고 현재는 2021년 5월 24일임을 확인하므로 anacron은 다음의 모든 스크립트를 실행합니다./etc/cron.daily
  • 실행 간 경과 시간: 31.5시간

답변1

모든 시스템 /etc/cron.daily, /etc/cron.weekly등의 파일에는 실행할 항목이 포함되어 있습니다.아나크론여기에는 실행할 항목이 포함됩니다.크론. /etc/crontab다음 항목을 포함합니다.실행 부분~하도록 하다아나크론다음 중 하나에 의해 실행됩니다.실행 부분또는크론.

고려해야 할 또 다른 파일은 /etc/anacrontab다음의 일부 효과를 무시할 수 있다는 것 입니다./etc/crontab

중요한 시스템크론관련 파일은 /etc/cron.daily/logrotate로그 회전 처리를 시작하는 데 사용되는 스크립트입니다.

일반 사용자크론탭시스템 cronjob과 독립적으로 실행됩니다.

1분마다 실행되지 는 않습니다 /etc/crontab. 활동은 다양한 crontab 사양에 따라 결정됩니다.

관련 정보