file_rewriter - ключи, логи
This commit is contained in:
parent
2960aee537
commit
596809827f
@ -6,14 +6,42 @@
|
||||
# При отмене процесса, проверить файл
|
||||
|
||||
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 () {
|
||||
trap '' SIGINT
|
||||
TMP_PATH=${1}_${FILE_TMP_SUFFIX}
|
||||
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
|
||||
return 0
|
||||
}
|
||||
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