file_rewriter - ключи, логи
This commit is contained in:
parent
2960aee537
commit
596809827f
@ -6,14 +6,42 @@
|
|||||||
# При отмене процесса, проверить файл
|
# При отмене процесса, проверить файл
|
||||||
|
|
||||||
export FILE_TMP_SUFFIX='file_rewriter'
|
export FILE_TMP_SUFFIX='file_rewriter'
|
||||||
|
export TMP_DIR='.'
|
||||||
|
export LOG_PATH='./file_rewriter.log'
|
||||||
|
export VERBOSE=0
|
||||||
|
while [ -n "$1" ]
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
-t) export TMP_DIR=$2
|
||||||
|
shift ;;
|
||||||
|
-v) export VERBOSE=1 ;;
|
||||||
|
--) shift
|
||||||
|
break ;;
|
||||||
|
*) echo "Invalid option $1"
|
||||||
|
exit 1 ;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
_exit_error () {
|
||||||
|
echo "Error cmd: $1"
|
||||||
|
exit 2
|
||||||
|
}
|
||||||
|
export -f _exit_error
|
||||||
|
|
||||||
_rewrite_file () {
|
_rewrite_file () {
|
||||||
trap '' SIGINT
|
trap '' SIGINT
|
||||||
TMP_PATH=${1}_${FILE_TMP_SUFFIX}
|
TMP_PATH=${1}_${FILE_TMP_SUFFIX}
|
||||||
ORIG_PATH=$1
|
ORIG_PATH=$1
|
||||||
cp -p $ORIG_PATH $TMP_PATH && mv -f $TMP_PATH $ORIG_PATH
|
cmd="cp -p $ORIG_PATH $TMP_DIR/fr_tmp && mv -f $TMP_DIR/fr_tmp $ORIG_PATH"
|
||||||
|
if [[ $VERBOSE == 1 ]]
|
||||||
|
then
|
||||||
|
echo $cmd
|
||||||
|
fi
|
||||||
|
echo `date "+%Y-%m-%d %H:%M:%S": ` $cmd >> $LOG_PATH
|
||||||
|
eval $cmd || exit 2
|
||||||
trap - SIGINT
|
trap - SIGINT
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
export -f _rewrite_file
|
export -f _rewrite_file
|
||||||
find $1 -type f -print -exec bash -c '_rewrite_file "$0"' {} \;
|
find $1 -type f \( -print -exec bash -c '_rewrite_file "$0"' {} \; -o -quit \)
|
||||||
Loading…
x
Reference in New Issue
Block a user