rsnapshot Очень медленный

Я бы использовал perl:

perl -ne 'print if length s/\d//gr == 2'

который использует:

  • -n для неявного обертывания while ( <> ) { loop
  • s///r возвращает замененный текст, но не изменяет оригинал.
  • Таким образом, мы удаляем все цифры, затем смотрим на длину строки
  • и печатаем строку, если она равна 2.

Примечание: это удаляет цифры из ваших строк, оставляя нецифровые. Вместо этого можно использовать [^A-Z].

Или альтернативно - если так понятнее:

perl -ne 'print if (()=m/([A-Z])/g) == 2'

Это будет работать со старым perl, который не поддерживает флаг r. Он использует regex-сопоставление для выделения текста и подсчитывает количество элементов массива (совпадений). И если их 2, печатает строку.

1
19.11.2018, 01:18
1 ответ

Здесь есть несколько проблем, замедляющих решение для резервного копирования.

  1. Вы используете rsyncдля копирования между двумя «локальными» файловыми системами.

    Тот факт, что один из них является SMB, не имеет отношения к rsync. Если файловая система монтируется как часть локальной системы, то rsyncдолжен рассматривать ее как локальную. Это означает, что любой измененный файл должен быть скопирован из общей сетевой папки SMB полностью, а не только измененные части.

    Если ваш файловый сервер может запускать rsyncнапрямую, измените процесс резервного копирования, чтобы он мог запускать удаленный процесс rsyncи получать преимущества инкрементных копий.

  2. Вы записываете на резервные диски через fuseblk.

    Я предполагаю, что это связано с тем, что на дисках установлена ​​файловая система NTFS. Если вы сможете переформатировать их для использования собственной файловой системы Linux, такой как ext4, вы увидите значительное увеличение скорости файлового ввода-вывода. Включая rm -rf, который занимает так много времени.

    Если вы пишете в VFAT, то у вас также есть проблема временных меток пониженного качества, и вам нужно rsyncсоответствующим образом предупредить, чтобы он не пытался копировать в остальном -идентичные файлы в ваш резервный носитель.

    Из комментариев я понял, что вы действительно используете NTFS и хотите продолжать использовать ее, чтобы диски можно было читать под Windows. Альтернативой является установка драйвера диска ext4в Windows. Я использую ext2fs , который я считаю довольно надежным.

0
28.01.2020, 00:24

Теги

Похожие вопросы