Last active 6 months ago

check_php_md5.sh Raw
1#!/bin/bash
2
3CHKSUM_DIR="${CHKSUM_DIR:-/tmp/}"
4CHKSUM_FILE="${CHKSUM_FILE:-files.checksum}"
5CHECK_DIR="${CHECK_DIR:-/var/www}"
6FIND_FILTER="${FIND_FILTER:--type f -name *.php}"
7
8if [ ! -f "${CHKSUM_DIR}/${CHKSUM_FILE}" ]; then
9 find ${CHECK_DIR} ${FIND_FILTER} -exec md5sum "{}" + > ${CHKSUM_DIR}/${CHKSUM_FILE}
10else
11 md5sum --quiet -c ${CHKSUM_DIR}/${CHKSUM_FILE} || echo ""
12 TMPDIR=$(mktemp -d /tmp/d.XXXXXX)
13 trap 'rm -rf "${TMPDIR}"' EXIT
14 find ${CHECK_DIR} ${FIND_FILTER} -exec md5sum "{}" + > ${TMPDIR}/${CHKSUM_FILE}
15 if [ $(diff -Nur ${CHKSUM_DIR}/${CHKSUM_FILE} ${TMPDIR}/${CHKSUM_FILE}|wc -l) -gt 0 ]; then
16 echo "PHP Files have changes, please investigate!"
17 echo "To reset this detection, please remove ${CHKSUM_DIR}/${CHKSUM_FILE}"
18 echo "and re-run this script!"
19 echo "These files have changed:"
20 echo "======================================================================"
21 diff -Nur ${CHKSUM_DIR}/${CHKSUM_FILE} ${TMPDIR}/${CHKSUM_FILE}
22 fi
23fi