Linux 에서 백업 일정 설정 여부 확인 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 cron 작업을 구성하는 다양한 위치를 검사하여 Linux 시스템에서 예약된 백업 작업을 확인하는 방법을 배웁니다. 먼저 crontab -l을 사용하여 현재 사용자의 cron 작업을 나열하여 개인 일정이 설정되어 있는지 확인합니다.

다음으로, 소프트웨어 패키지에 의해 설치된 예약된 작업이 종종 포함되는 /etc/cron.d 디렉토리를 확인하여 시스템 전체의 cron 작업을 탐색합니다. 마지막으로, 잠재적인 백업 루틴을 포함하여 매일 실행되도록 구성된 일일 스크립트가 있는지 확인하기 위해 /etc/cron.daily 디렉토리의 내용을 확인합니다.

crontab -l 로 사용자 cron 작업 목록 확인

이 단계에서는 crontab 명령을 사용하여 현재 사용자의 예약된 작업을 보는 방법을 배웁니다.

cron은 Unix 계열 운영 체제에서 시간 기반 작업 스케줄러입니다. 지정된 간격으로 명령 또는 스크립트가 자동으로 실행되도록 예약할 수 있습니다. 이러한 예약된 작업은 종종 "cron 작업"이라고 합니다.

시스템의 각 사용자는 자체 cron 작업 집합을 가질 수 있습니다. 이러한 작업은 "crontab" (cron 테이블) 이라는 특수 파일에 저장됩니다.

현재 사용자 (labex) 의 cron 작업을 보려면 -l 옵션과 함께 crontab 명령을 사용합니다. -l은 "list"를 의미합니다.

아직 터미널을 열지 않았다면 엽니다. 다음 명령을 입력하고 Enter 키를 누릅니다.

crontab -l

이것은 새로운 환경이므로 labex 사용자는 아직 cron 작업을 설정하지 않았을 가능성이 큽니다. 이 경우 다음과 유사한 메시지가 표시됩니다.

no crontab for labex

이 메시지는 labex 사용자에 대해 예약된 작업이 없음을 의미합니다.

cron 작업이 구성되어 있다면 출력은 각 예약된 작업을 새 줄에 표시하며, 일정 및 실행할 명령을 지정합니다.

사용자 cron 작업을 이해하는 것은 Linux 시스템에서 예약된 작업을 관리하는 첫 번째 단계입니다. 다음 단계에서는 시스템 전체의 cron 작업을 탐색합니다.

계속을 클릭하여 진행합니다.

/etc/cron.d 에서 시스템 cron 작업 확인

이전 단계에서는 특정 사용자의 cron 작업을 보는 방법을 배웠습니다. 이제 시스템 전체의 cron 작업을 살펴보겠습니다.

시스템 전체의 cron 작업은 일반적으로 /etc/cron.d/ 디렉토리에 저장됩니다. crontab 명령으로 관리되는 사용자 crontab 과 달리, 시스템 전체의 cron 작업은 이 디렉토리 내의 개별 파일에 정의됩니다.

이러한 파일은 시스템 업데이트, 로그 회전 또는 정리 스크립트와 같이 전체 시스템에서 실행해야 하는 작업을 예약하기 위해 설치된 소프트웨어 패키지에 의해 생성되는 경우가 많습니다.

/etc/cron.d/ 디렉토리의 파일을 보려면 ls 명령을 사용할 수 있습니다. 이 디렉토리는 root 사용자가 소유하므로 내용을 나열하려면 sudo를 사용해야 합니다.

터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.

sudo ls /etc/cron.d/

다음과 유사한 출력이 표시되어 다양한 파일이 나열될 수 있습니다.

anacron  e2scrub_all  phpsessionclean

표시되는 특정 파일은 시스템에 설치된 소프트웨어에 따라 다를 수 있습니다. 이 디렉토리의 각 파일은 시스템 전체의 cron 작업 구성을 나타냅니다.

이러한 파일 중 하나인 phpsessionclean의 내용을 보려면 cat 명령을 사용할 수 있습니다. 다시 말하지만, 파일은 root 가 소유하므로 sudo가 필요합니다.

다음 명령을 입력하고 Enter 키를 누릅니다.

sudo cat /etc/cron.d/phpsessionclean

phpsessionclean 스크립트가 언제, 어떻게 실행되는지 정의하는 파일의 내용이 표시됩니다. 형식은 사용자 crontab 과 유사하지만, 명령을 실행해야 하는 사용자를 지정하는 사용자 필드 (종종 root) 도 포함합니다.

## This file is installed by the php-common package
#
## The script will clean up old session files.
#
## See /usr/lib/php/sessionclean for details.

09,39 * * * * root [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi

이 출력은 phpsessionclean 스크립트가 매시간 09 분과 39 분에 실행되도록 예약되어 있으며, root 사용자에 의해 실행됨을 보여줍니다.

/etc/cron.d/의 파일을 탐색하면 시스템 수준에서 어떤 자동화된 작업이 실행되고 있는지 이해하는 데 도움이 됩니다.

다음 단계로 이동하려면 계속을 클릭하십시오.

/etc/cron.daily 에서 매일 실행되는 cron 확인

/etc/cron.d/의 개별 파일 외에도 Linux 시스템은 /etc/cron.daily/, /etc/cron.weekly/, /etc/cron.monthly/와 같은 디렉토리를 사용하여 특정 간격으로 실행되도록 스크립트를 예약하는 경우가 많습니다.

/etc/cron.daily/에 배치된 실행 가능한 스크립트는 하루에 한 번 실행됩니다. 마찬가지로, /etc/cron.weekly/의 스크립트는 일주일에 한 번 실행되고, /etc/cron.monthly/의 스크립트는 한 달에 한 번 실행됩니다.

이러한 디렉토리는 일반적으로 이러한 디렉토리 내에서 발견된 모든 스크립트를 실행하기 위해 run-parts와 같은 스크립트를 실행하는 시스템 전체의 cron 작업에 의해 관리됩니다.

/etc/cron.daily/ 디렉토리의 내용을 살펴보겠습니다. 이 디렉토리에는 매일 실행되도록 예약된 스크립트가 포함되어 있습니다.

sudo와 함께 ls 명령을 사용하여 이 디렉토리의 파일을 나열합니다.

sudo ls /etc/cron.daily/

다음과 같은 스크립트 목록이 표시될 것입니다.

apt-compat  dpkg  logrotate  man-db  passwd  update-notifier-common

이들은 패키지 목록 업데이트 (apt-compat), 로그 파일 회전 (logrotate), 매뉴얼 페이지 데이터베이스 업데이트 (man-db) 와 같이 시스템에서 매일 유지 관리 작업을 수행하는 스크립트입니다.

이러한 스크립트 중 하나가 무엇을 하는지 이해하려면 sudo cat을 사용하여 내용을 볼 수 있습니다. 예를 들어, logrotate 스크립트를 살펴보겠습니다.

sudo cat /etc/cron.daily/logrotate

출력은 시스템 로그 파일이 너무 커지는 것을 방지하기 위해 시스템 로그 파일을 회전시키는 스크립트의 코드를 표시합니다.

#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
exit 0

이 스크립트는 logrotate 명령이 존재하고 실행 가능한지 확인하고, 그렇다면 구성 파일 /etc/logrotate.conf를 사용하여 logrotate를 실행합니다.

/etc/cron.daily/ 및 유사한 디렉토리의 스크립트를 이해하면 시스템이 원활하게 실행되도록 하는 자동화된 유지 관리 작업에 대한 통찰력을 얻을 수 있습니다.

이제 사용자 cron 작업, /etc/cron.d/의 시스템 전체 cron 작업, /etc/cron.daily/의 매일 cron 스크립트를 탐색했습니다. 이 지식은 Linux 시스템에서 예약된 작업을 관리하는 데 필수적입니다.

계속을 클릭하여 랩을 완료합니다.

요약

이 랩에서는 cron 작업을 검사하여 Linux 에서 예약된 백업 작업을 확인하는 방법을 배웠습니다. 먼저 crontab -l을 사용하여 현재 사용자의 cron 작업을 나열하는 것으로 시작하여 이 명령이 사용자별 예약 작업을 표시한다는 것을 이해했습니다.

다음으로, 전체 시스템에 대해 예약된 작업을 정의하는 파일이 포함된 /etc/cron.d/ 디렉토리를 확인하여 시스템 전체의 cron 작업을 탐색했습니다. 이러한 파일은 종종 소프트웨어 패키지에 의해 설치됩니다. 마지막으로, 하루에 한 번 실행되도록 설계된 스크립트가 일반적으로 포함된 /etc/cron.daily 디렉토리에 있는 매일 cron 작업을 확인했습니다. 이러한 위치를 확인하여 Linux 시스템에 백업 일정이 구성되어 있는지 확인할 수 있습니다.