> 운영 및 유지보수 > 리눅스 운영 및 유지 관리 > Linux에서 시스템 예약 작업을 구성하는 방법

Linux에서 시스템 예약 작업을 구성하는 방법

PHPz
풀어 주다: 2023-07-06 11:58:39
원래의
16607명이 탐색했습니다.

Linux에서 시스템 예약 작업을 구성하는 방법

Linux 시스템에서 예약 작업은 데이터 백업, 임시 파일 정리, 정기적인 소프트웨어 업데이트 등과 같은 특정 작업을 정기적으로 수행하는 데 사용할 수 있는 매우 일반적이고 실용적인 기능입니다. . 이 기사에서는 Linux 시스템에서 시스템 예약 작업을 구성하는 방법을 소개하고 해당 코드 예제를 첨부합니다.

Linux 시스템에서 예약된 작업을 구현하는 방법에는 여러 가지가 있으며, 그 중 가장 일반적으로 사용되는 방법은 cron 작업과 systemd 타이머입니다. 이 두 가지 방법의 구성 방법과 코드 예제는 아래에 소개되어 있습니다.

1. cron 작업을 사용하여 예약된 작업 구성

  1. Cron 작업 테이블 편집
    현재 사용자의 cron 작업 테이블을 편집하려면 명령줄에 다음 명령을 입력하세요.
crontab -e
로그인 후 복사

시스템 전체 cron을 편집해야 하는 경우 작업 테이블에서 다음 명령을 사용할 수 있습니다:

sudo crontab -e
로그인 후 복사
  1. 크론 작업 작성
    열린 파일에서 각 줄은 예약된 작업을 나타냅니다. 각 줄의 형식은 다음과 같습니다.
分钟 小时 日 月 周 要执行的命令
로그인 후 복사

그 중 분, 시, 일, 월, 주는 작업 실행 시간을 나타내며 와일드카드 *를 사용하면 임의의 값을 나타낼 수 있습니다. 실행할 명령은 정기적으로 수행해야 하는 작업입니다.

예를 들어 다음은 매일 오전 1시에 스크립트를 실행하는 예약 작업의 예입니다.

0 1 * * * /path/to/script.sh
로그인 후 복사
  1. 크론 작업 저장
    크론 작업을 편집한 후 Ctrl +X를 눌러 저장하고 종료합니다. 시스템은 수정된 크론 작업 목록을 해당 위치에 자동으로 저장합니다.

팁: cron 작업을 삭제해야 하는 경우 다음 명령을 사용하세요.

crontab -r
로그인 후 복사

2. systemd 타이머를 사용하여 예약된 작업을 구성합니다.

  1. /etc/에서 서비스 파일을 생성합니다</li></ol><p> systemd/system/ <code>mytask.service와 같이 디렉토리에 .service 접미사가 있는 파일을 생성합니다. /etc/systemd/system/目录中创建一个以.service为后缀的文件,比如mytask.service

    sudo nano /etc/systemd/system/mytask.service
    로그인 후 복사
    1. 编写service文件内容

    在创建的service文件中,加入以下内容:

    [Unit]
    Description=My Task
    
    [Service]
    ExecStart=/path/to/script.sh
    
    [Install]
    WantedBy=multi-user.target
    로그인 후 복사

    其中,ExecStart表示要执行的脚本文件,WantedBy=multi-user.target表示这个任务应该在系统启动时执行。

    1. 创建一个timer文件

    /etc/systemd/system/目录中创建一个以.timer为后缀的文件,比如mytask.timer

    sudo nano /etc/systemd/system/mytask.timer
    로그인 후 복사
    1. 编写timer文件内容

    在创建的timer文件中,加入以下内容:

    [Unit]
    Description=Run My Task every day
    
    [Timer]
    OnCalendar=daily
    Persistent=true
    
    [Install]
    WantedBy=timers.target
    로그인 후 복사

    其中,OnCalendar=daily表示这个任务每天执行一次,Persistent=true

    sudo systemctl daemon-reload
    로그인 후 복사

      서비스 파일 내용 작성
    생성된 서비스 파일에 다음 내용을 추가합니다.

    sudo systemctl start mytask.timer
    로그인 후 복사

    그 중 ExecStart는 실행할 스크립트 파일을 나타내고, 는 >WantedBy=multi-user .target은 시스템이 시작될 때 이 작업이 실행되어야 함을 나타냅니다.
    1. 타이머 파일 만들기

    /etc/systemd/system/ 디렉터리에 .timer 접미사가 있는 파일을 만듭니다(예: mytask). 타이머.
      sudo systemctl enable mytask.timer
      로그인 후 복사
      1. 타이머 파일의 내용을 작성합니다

      생성된 타이머 파일에 다음 내용을 추가합니다.

      rrreee

      그 중 OnCalendar=daily는 다음을 의미합니다. 이 작업은 하루에 한 번 실행됩니다. Percious=true는 작업 실행 시간 전에 시스템이 종료되더라도 다음 번 시작 시 작업이 실행된다는 의미입니다.

      🎜🎜시스템 구성 다시 로드🎜🎜🎜다음 명령을 실행하여 systemd가 구성 파일을 다시 로드하도록 합니다.🎜rrreee🎜🎜예약된 작업 시작🎜🎜🎜다음 명령을 실행하여 예약된 작업을 시작합니다.🎜rrreee🎜🎜자동 설정 start at boot🎜🎜🎜다음 명령을 실행하여 예약된 작업이 부팅 시 자동으로 시작되도록 설정하세요. 🎜rrreee🎜위는 Linux 시스템에서 시스템 예약 작업을 구성하는 단계와 코드 예제입니다. cron 작업이나 시스템화된 타이머를 사용하면 정기적으로 필요한 작업을 쉽게 수행할 수 있어 작업 효율성과 시스템 관리 편의성이 향상됩니다. 🎜

      위 내용은 Linux에서 시스템 예약 작업을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿