하나의 Cron 작업에서 여러 명령을 실행하는 방법

하나의 Cron 작업에서 여러 명령을 실행하는 방법

2022-10-18 last update

6 minutes reading commands crontab cronjobs cron
Crontab은 Unix-Linux 시스템에서 일정 간격으로 예약된 작업을 실행하기 위한 유틸리티입니다. 여러 cron 작업이 한 번에 실행되도록 예약할 수 있습니다. 터미널에서 실행할 수 있는 모든 셸 명령이나 스크립트를 예약할 수 있습니다. crontab의 모든 예약된 작업은 새 줄로 구분됩니다. 또한 단일 cron 작업에서 여러 명령 또는 스크립트를 정의하여 하나씩 실행할 수도 있습니다.

Linux에서 두 명령을 분리하는 방법

세미콜론(;), 논리 AND(&&) 또는 논리 OR(||) 연산자를 사용하여 둘 이상의 명령을 분리할 수 있습니다. 우리가 사용하는 연산자는 전적으로 요구 사항에 달려 있습니다. 다음은 이러한 연산자 사용에 대한 기본적인 이해입니다.
  • 세미콜론(;): 여러 명령을 구분하는 데 사용됩니다. 이전 명령의 종료 상태를 확인하지 않고 모든 명령을 실행합니다.
    command_1;  command_2;  command_n
    
  • 논리 AND(&&): 이전 명령이 종료 상태 0으로 성공적으로 실행된 경우에만 다음 명령을 실행하려는 경우 명령을 구분하는 데 사용됩니다.
    command_1 &&  command_2 &&  command_n
    
  • 논리 OR(||): 이전 명령이 0이 아닌 종료 상태로 실패한 경우에만 다음 명령을 실행하려는 경우 명령을 구분하는 데 사용됩니다.
    command_1 ||  command_2 ||  command_n
    
  • Cron 작업을 예약하는 방법

    먼저 cron 작업을 실행할 사용자로 전환합니다. 그런 다음 다음 명령을 실행하여 crontab 편집기를 엽니다.
    crontab -e 
    
    그런 다음 아래와 같이 파일에 cron 작업 항목을 추가합니다.(vitag.Init = window.vitag.Init || []).push(function(){viAPItag.display("vi_1879779679")}) Crontab 명령 분리 with logical AND

    단일 Cron 작업에서 여러 명령 실행

    crontab을 사용하여 여러 명령을 서로 다른 2로 구분하여 실행하는 실제 예를 살펴보겠습니다.

  • 세미콜론(;) 사용
  • 이전 명령의 종료 상태를 확인할 필요가 없는 두 개 이상의 명령을 세미콜론으로 구분할 수 있습니다. 예를 들어, 모든 파일의 권한을 777로 변경해야 하지만 로그 디렉토리에 대해 777을 설정해야 합니다.(vitag.Init = window.vitag.Init || []).push(function(){viAPItag.display( "vi_1879779679")})0 2 * * * chmod -R 755/var/www/myapp; chmod -R 777/var/www/myapp/logs10 2 * * *   chmod -R 755/var/www/myapp; chmod -R 777/var/www/myapp/logs(vitag.Init = window.vitag.Init || []).push(function(){viAPItag.display("vi_1879779679")}) Crontab 명령은 세미콜론으로 구분됩니다. (;)

  • 논리 AND(&&) 사용
  • 이전 명령이 성공적으로 실행된 경우에만 다음 명령을 실행하려는 경우 이 연산자를 사용합니다(종료 상태 0). 예를 들어/backup directory.0 2 * * * cd/backup && bash backup.sh10 2 * * *   cd/backup && bash backup.sh 논리적으로 구분된 Crontab 명령으로 성공적으로 변경한 후 backup.sh를 실행하려고 합니다. 그리고

  • 논리 OR(||) 사용
  • 논리 OR(||) 연산자는 이전 명령이 실패한 경우에만(종료 상태가 0이 아님) 다음 명령을 실행하려는 경우 사용합니다. 예를 들어, 백업 파일을 찾을 수 없는 경우 메시지를 표시하거나 이메일을 보내려고 합니다.0 2 * * * [ -f/backup/mydb-`date +%F`.sql ] || echo "오늘의 백업 파일을 찾을 수 없습니다."10 2 * * *  [ -f/backup/mydb-`date +%F`.sql ] || echo "오늘의 백업 파일을 찾을 수 없습니다." Crontab 명령이 논리 AND로 구분됨

    결론

    이 블로그 게시물에서 단일 cron 작업 항목에서 여러 명령을 실행하는 방법을 배웠습니다. 또한 명령을 분리하는 다양한 옵션에 대해서도 설명했습니다. 이 문서에서는 명령을 구분하는 데 사용되는 각 구분 기호에 대한 기본 세부 정보를 제공합니다.