조건부 crontab 항목

조건부 crontab 항목

스크립트를 실행하고 출력을 currenthash.log와 같은 파일에 MD5 해시로 저장하는 crontab 항목이 있습니다.

그러나 MD5 체크섬이 변경되면 Changehash.log와 같은 새 파일을 만들어야 한다는 요구 사항을 충족할 수 없습니다. cronjob이나 스크립트 자체에서 이 작업을 수행할 수 있습니까?

답변1

cron작업 실행 방법에 대한 논리가 없습니다.

지정한 순간에 명령이 생성됩니다.

이러한 지능을 얻으려면 이를 스크립트에 구현해야 합니다.

logrotate다른 관리 방법 (특정 조건에서 로그 파일 순환)을 사용할 수도 있습니다 .incron( cron-서비스와 마찬가지로 트리거는 다음과 같습니다.inotify시간보다는 사건).

답변2

이전 해시를 어딘가에 저장한 다음 새 해시와 비교해야 합니다. 이 방향으로 뭔가 :

#!/bin/sh
file=/path/to/file
hashfile=/path/to/stored/hash
newhash=$(md5sum "$file")
oldhash=$(cat "$hashfile")
if [ "$newhash" != "$oldhash" ]; then
    echo it changed...
fi
echo "$newhash" > "$hashfile"

관련 정보