file_writer - обработка сигналов

This commit is contained in:
Artem Bliznetsov 2024-02-24 21:08:23 +03:00
parent f75476f646
commit 80f83ab966

View File

@ -3,14 +3,17 @@
# Программа для переписывавания файлов по переданному пути на те же места
# полезно в некоторых файловых системах4 например ZFS, когда меняешь параметры сжати и дедупликации
# они не применяются на имеющиеся файлы и требуется перезаписать их в файловую систему
# При отмене процесса, проверить файл
FILE_TMP_SUFFIX='file_rewriter'
export FILE_TMP_SUFFIX='file_rewriter'
_rewrite_file () {
trap '' SIGINT
TMP_PATH=${1}_${FILE_TMP_SUFFIX}
cp $1 $TMP_PATH
rm $1
mv $TMP_PATH $1
ORIG_PATH=$1
cp $ORIG_PATH $TMP_PATH
mv -f $TMP_PATH $ORIG_PATH
trap - SIGINT
return 0
}
export -f _rewrite_file