조건부 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"

관련 정보