24.5. systemd 장치 파일을 사용하여 Next Boot에서 실행되도록 작업 예약


cron, anacron, at, batch 유틸리티를 사용하면 특정 시간 또는 시스템 워크로드에 특정 수준에 도달하면 작업을 예약할 수 있습니다. 다음 시스템 부팅 중에 실행할 작업을 생성할 수도 있습니다. 이 작업은 실행할 스크립트와 해당 종속 항목을 지정하는 systemd 장치 파일을 생성하여 수행됩니다.

다음 부팅 시 실행되도록 스크립트를 구성하려면 다음을 수행합니다.

  1. 스크립트를 실행할 부팅 프로세스의 단계를 지정하는 systemd 장치 파일을 만듭니다. 이 예에서는 적절한 Wants=After= 종속성이 있는 단위 파일을 보여줍니다.

    ~]# cat /etc/systemd/system/one-time.service
    [Unit]
    # The script needs to execute after:
    # network interfaces are configured
    Wants=network-online.target
    After=network-online.target
    # all remote filesystems (NFS/_netdev) are mounted
    After=remote-fs.target
    # name (DNS) and user resolution from remote databases (AD/LDAP) are available
    After=nss-user-lookup.target nss-lookup.target
    # the system clock has synchronized
    After=time-sync.target
    
    [Service]
    Type=oneshot
    ExecStart=/usr/local/bin/foobar.sh
    
    [Install]
    WantedBy=multi-user.target

    다음 예제를 사용하는 경우:

  2. 스크립트를 실행한 후 systemd 서비스가 활성화되도록 하려면 RemainAfterExit=yes 행을 [Service] 섹션에 추가합니다.

    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/local/bin/foobar.sh
  3. systemd데몬을 다시 로드합니다.

    ~]# systemctl daemon-reload
  4. systemd 서비스를 활성화합니다.

    ~]# systemctl enable one-time.service
  5. 실행할 스크립트를 생성합니다.

    ~]# cat /usr/local/bin/foobar.sh
    #!/bin/bash
    
    touch /root/test_file
  6. 다음 부팅 중에 스크립트가 모든 부팅 시에만 실행되도록 하려면 systemd 장치를 비활성화하는 행을 추가합니다.

    #!/bin/bash
    
    touch /root/test_file
    systemctl disable one-time.service
  7. 스크립트를 실행 가능하게 만듭니다.

    ~]# chmod +x /usr/local/bin/foobar.sh
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.