rsync сохраняет время доступа (atime ), как?

Поскольку непонятно, что вы пытаетесь сделать:

  1. Заполнить текущую строку =до столбца 80

    map _= :execute 'normal A'. repeat("=", (80-col("$")+1))<cr>
    
  2. Подчеркнуть текущую строку:

    map _= :co.<cr>Vr=
    
  3. Добавить разделитель (80 символов)

    map _= :call append(line('.'), repeat("=", 80))<cr>
    
1
21.01.2021, 14:39
1 ответ

Вы можете запросить сохранениеatime(времени доступа )в источнике с флагом --noatime, но на файловых системах, смонтированных сrelatime(современным значением по умолчанию )или noatime. это уже не является строго необходимым

rsync -av --noatime src/ dstHost:dst/

Я не знаю возможности сохранить atimeв месте назначения как копию исходного кода в rsync. Если у вас есть доступ к целевой системе, вы можете выполнить итерацию по скопированному дереву. Нечто подобное может работать в системе типа GNU/Linux

( cd src/ && find -type f -print0 ) |
    ssh dstHost 'cd dst && while IFS= read -r -d "" f; do  touch -a -d "@$(stat -c %Y "$f")" "$f"; done'

Или если вы обрабатываете копию между двумя локальными файловыми системами

( cd src/ && find -type f -print0 ) |
    ( cd dst && while IFS= read -r -d "" f; do  touch -a -d "@$(stat -c %Y "$f")" "$f"; done )

По сути, эти два фрагмента кода делают одно и то же :для каждого файла в источнике, находят соответствующий файл в месте назначения и обновляют его atime, чтобы он соответствовал его mtime.

1
18.03.2021, 22:35

Теги

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