@@ -9,7 +9,7 @@ test "$#" -ne 2 && echo "Error: 2 number of parameters expected, $# given" >&2 &
99FILE_SRC=" 2ドル " 
1010FILE_DST=" /mnt/backup_db/archive_wal/cluster/1ドル .zst" 
1111
12- test  !  -f " $FILE_SRC " &&  exit 
12+ test  !  -f " $FILE_SRC " &&  echo " Error: file ' $FILE_SRC ' does not exist! " >&2 && exit  1 
1313test  -f " $FILE_DST " &&  exit 
1414
1515#  кол-во потоков сжатия
@@ -21,8 +21,9 @@ WAL_FILES_QUEUE=$(find "$ARCHIVE_STATUS_DIR" -maxdepth 1 -type f -name "*.ready"
2121
2222#  чем больше файлов в очереди, тем меньше степень сжатия (но больше скорость сжатия и размер сжатого файла)
2323STEP=3
24- ZSTD_LEVEL=$( echo " (19 * ${STEP}  - ${WAL_FILES_QUEUE} ) / ${STEP} " |  bc) 
24+ #  не ставьте большой уровень компрессии, это приводит к большому потреблению CPU, а экономия на размере файла несущественная
25+ ZSTD_LEVEL=$( echo " (9 * ${STEP}  - ${WAL_FILES_QUEUE} ) / ${STEP} " |  bc) 
2526test  " $ZSTD_LEVEL " &&  ZSTD_LEVEL=1
2627
2728#  архивируем файл (без -B1M используются не все ядра из-за небольшого размера файла)
28- zstd -q -f -${ZSTD_LEVEL}  -T${ZSTD_THREADS}  -B1M " $FILE_SRC " " $FILE_DST " 
29+ ionice -c2 -n7 nice -n19  zstd -q -f -${ZSTD_LEVEL}  -T${ZSTD_THREADS}  -B1M " $FILE_SRC " " $FILE_DST " 
0 commit comments