#!/bin/bash
LINES=`cat $0 | wc -l`
let LINES=LINES-1
HASH=`head -${LINES} $0 | md5sum | tr -d " -"`
HASH="#"${HASH}
STORED=`tail -1 $0`
if [[ ${HASH} != ${STORED} ]] ; then
echo -e "\033[31mINVALID HASH! SCRIPT MODIFIED OR CORRUPTED! EXIT NOW\033[0m"
exit 1
fi
echo -e "\033[32mSimple selfprotected script\033[0m"
#0eb63c093c9be4cfb535c85e826fd9fa
(
Read more... )
Comments 4
(The comment has been removed)
Reply
find -type f | xargs md5sum > /tmp/hashes.current.txt
diff /tmp/hashes.current.txt hashes.txt
если деплой делается через VCS, то там это встроено
если деплой делается по rsync, то там есть --dry-run
У нас желание похакать в продакшн обуздывается тем, что за продакшн отвечают своими яйцами админы. А разработчики готовят для них debian-пакеты, и не имеют root-доступа на продакшн.
Reply
И, похоже, процесс установки патчей ручной - по инструкции от разработчиков меняются/дополняются файлики, выполняются запросы в базе. И никто особо не чешется это автоматизировать, т.к. если я верно понял наша задача - контролировать местных админов и помогать в случае косяков. Никакого "инсталлятора" патчей я не увидел, хотя теоретически его можно написать, т.к. патч приходит более-менее структурированным. Скоро точно всё узнаю.
Reply
(The comment has been removed)
(The comment has been removed)
Reply
Leave a comment