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