crontab에서 활성 cron 작업 수를 계산하는 명령

crontab에서 활성 cron 작업 수를 계산하는 명령

문제 설명

나는 5대의 Solaris 시스템을 가지고 있는데, 일부는 Solaris 10을, 일부는 Solaris 9를 사용하고 있습니다.
그들은 모두 crontab에 많은 cronjob을 가지고 있습니다.

사용 가능한 활성 cronjob 수를 알고 싶어서 수동으로 계산합니다.예약 된 일들.

이제 활성 cronjob 수를 계산하는 명령 [내가 사용하는 bash 쉘]을 찾고 있습니다.

나는 이것을 시도했지만 crontab -l|wc -l내 crontab에는 내 명령과 함께 계산되는 많은 주석 줄이 포함되어 있습니다. 예약 된 일들

내가 시도한 것

crontab -l|wc -l

내가 기대했던 것

활성 cronjob 수를 계산하는 Bash 쉘 명령입니다(주석 행 제외).

답변1

숫자(분)로 시작하지 않는 항목은 모두 제거해야 합니다. 그러나 이를 달성하려면 먼저 모든 선행 공백을 제거하십시오. 이렇게 하면 주석, 빈 줄, 변수 할당 등이 제거됩니다.

crontab -l 2>/dev/null | sed 's/^ *//;/^[*@0-9]/!d' | wc -l

답변2

crontab -l | grep -v '^#'

단순한.

숫자?

crontab -l | grep -v '^#' | wc -l

또는

crontab -l | grep -c -v '^#'

(마지막 것은 여기의 답변에서 영감을 얻었습니다).

그러면 현재 실행 중인 작업을 의미하는 활성 크론 작업 대신 예약된 크론 작업(번호)이 제공됩니다.

답변3

캐릭터는 왜 삭제되나요? 다음을 시도해 보십시오:

$ crontab -l | grep -c "^[0-9*]"

답변4

다음을 수행할 수 있습니다.

PATH=`getconf PATH`:$PATH # needed on Solaris to get POSIX compliant versions
                          # of the basic Unix utilities

crontab -l | LC_ALL=C grep -c '^[[:blank:]]*[0-9@*]'

즉, ASCII 10진수 또는 (Solaris는 현재 후자를 지원하지 않지만 일부 다른 구현에서는 지원함)로 *시작 하고 0개 이상의 공백(C 로케일에서는 SPC 또는 TAB)이 앞에 오는 행을 계산합니다.@cron

관련 정보