Как переместить все файлы в папке в подпапку в zsh с Mac OS X?

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

Тем не менее, есть и другие варианты для рассмотрения

  1. Копирование, не беспокоясь об удалении старых файлов. Это может позволить вам чаще выполнять более быструю передачу и сократить более медленную очистку до одного раза в день :

    .
    cp -au /mnt/ROUTER_WD_2TB/. /mnt/BACKUP_HITACHI_2TB/
    
  2. Используйте вариант алгоритма удаления rsyncпо умолчанию, чтобы избежать создания полного списка файлов перед передачей:

    rsync -haAXi --quiet --delete --delete-during /mnt/ROUTER_WD_2TB/ /mnt/BACKUP_HITACHI_2TB/
    
  3. Разделите каталоги верхнего -уровня на отдельные задачи и запускайте их параллельно. Вы можете обнаружить, что если вы привязаны к дисковому вводу-выводу -, то это на самом деле не поможет, а для вращающихся дисков это почти наверняка усугубит ситуацию.

    for d in /mnt/ROUTER_WD_2TB/*
    do
        rsync -haAXi --quiet --delete --delete-during "$d" /mnt/BACKUP_HITACHI_2TB/ >"/tmp/rsync.${d/*\/}.log" 2>&1 &
    done
    wait
    cat /tmp/rsync.*.log
    rm -f /tmp/rsync.*.log
    

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

0
17.02.2020, 03:34
0 ответов

Теги

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