yum-cron을 사용하여 시스템을 자동으로 업데이트하도록 yum을 설정하고 싶습니다. 하지만 인터넷 연결이 매우 제한되어 있어서 업데이트 프로세스가 사용 가능한 인터넷의 작은 부분을 차지하고 네트워크에 있는 모든 사람이 컴퓨터를 사용하는 데 어려움을 겪는 것을 원하지 않습니다.
업데이트를 자동으로 확인하고 다운로드하지만 오전 2시에서 오전 6시 사이에만 yum을 설정하려면 어떻게 해야 합니까?
답변1
답변2
여기에 짧은 대답이 있습니다. 루트 사용자로 다음 명령을 실행합니다.
cat <<HEREDOC > /etc/crontab.d/update-yum.crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
0 2 * * * yum -y update
HEREDOC
자세한 설명은 다음과 같습니다.
Unix 시스템에서 예약된 작업을 실행하는 데 여러 가지 유틸리티를 사용할 수 있습니다.
이 cron
유틸리티는 예약된 작업을 수행하기 위한 사실상의 표준 Unix 유틸리티입니다. 단점 중 하나 cron
는 어떤 이유로 시스템이 다운되면 작업이 실행되지 않을 수 있다는 것입니다.
이 anacron
유틸리티는 호스트 시스템이 지속적으로 실행될 수 없는 사용 사례를 위해 만들어졌습니다.
나크론전통적으로 cron에 의해 수행되지만 시스템이 지속적으로 실행되고 있다고 가정하지 않는 주기적 명령 스케줄링을 수행하는 컴퓨터 프로그램입니다.
이 fcron
유틸리티는 이러한 상황을 처리하도록 설계된 최신 버전입니다.
플루론주기적으로 명령 스케줄링을 수행하는 컴퓨터 프로그램입니다. [fcron]은 시스템이 지속적으로 실행되고 있다고 가정하지 않으며 항상 또는 주기적으로 실행되지 않는 시스템에서 실행될 수 있습니다. 그 목표는 Vixie-cron 및 Anacron을 원래 Cron 데몬에서 누락된 많은 기능을 제공하는 통합 프로그램으로 대체하는 것입니다.
이 hcron
유틸리티는 기능이 더욱 풍부한 대안입니다.
헤크론정말 유용하고 실용적인 방법으로 [새로운 것을 가져옵니다]. 예를 들어:
- 이벤트는 단일 파일에 모두 저장되지 않고 각각 자체 파일에 개별적으로 저장됩니다.
- 이벤트는 단일 파일의 테이블이 아닌 파일 시스템에서 계층적으로 구성됩니다.
- 이벤트의 이름이 지정되고 참조 가능
- 이벤트는 한 줄의 순서가 아닌 여러 키=값 설정으로 정의됩니다.
- hcron은 시스템 지향이 아닌 네트워크 지향입니다.
- 설정을 줄이고 재사용할 수 있는 템플릿 이벤트 지원
- 이벤트를 생성할 수 없는 경우 장애 조치 이벤트 지원
- 변수 설정 및 사용 지원
다른 변형의 추가 기능이 필요하지 않은 경우 이를 사용하는 가장 간단한 방법은 실행할 명령과 지정하는 패턴이 포함된 cron
특정 cron
작업에 대해 소위 cron 작업을 생성하는 것입니다. 언제 실행할지. 시간 모드의 구문은 다음과 같습니다.
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │ 7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * command to execute
cron 데몬은 1분마다 실행되며 모든 활성 cron 작업을 검사하여 현재 시간과 일치하는 패턴이 있는지 확인합니다. 예를 들어 오전 2시에 작업을 실행하려면 분 값은 0, 시간 값은 2, 일, 월, 요일 값에는 제한이 없습니다. 이는 다음과 같이 표현됩니다.
0 2 * * * command
구문에 익숙해지는 데 다소 시간이 걸릴 수 있으므로 크론 작업 표현식을 생성하는 데 도움이 되는 웹 기반 유틸리티는 다음과 같습니다.
다음은 유용할 수 있는 또 다른 웹 기반 도구입니다.
이는 정반대입니다. 시간 패턴을 입력하고 이를 영어로 표시할 수 있습니다.
크론 작업을 배포하는 방법에는 여러 가지가 있습니다. /etc/
시스템 cron 작업을 위한 하나의 기본 crontab 파일과 그 안에 여러 하위 디렉터리가 있습니다 .
/etc/crontab
/etc/cron.d
/etc/cron.daily
/etc/cron.deny
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
이에 대한 자세한 내용은 CentOS 배포 가이드의 관련 섹션을 참조하세요.
가장 간단한 방법은 아마도 crontab 파일을 /etc/crontab.d
디렉토리에 추가하는 것입니다.
cat <<HEREDOC > /etc/crontab.d/update-yum.crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
0 2 * * * yum -y update
HEREDOC
작업이 실패할 때 알림을 받을 수 있도록 MAILTO 변수를 기본 관리 이메일 주소로 설정할 수 있습니다.
또한 cronjob은 사용자와 다른 환경에서 실행되며 이는 일반적인 문제이자 좌절의 원인이라는 점을 알아야 합니다. 예를 들어 다음 게시물을 참조하세요.