Нет такого файла или каталога во время команды копирования rsync/cp

Записи

/etc/hostsмогут иметь одно или несколько имен хостов на IP-адрес, поэтому нам нужно проверить каждое имя хоста (, то есть все поля, кроме первого поля ), чтобы увидеть, содержит ли оно 2 или более .символов.

Например:

awk '{for (f=2;f<=NF;f++) {if (split($f,array,/\./)>2) {print;last}}}' /etc/hosts

или, с добавлением перевода строки и отступа для улучшения читабельности:

awk '
  {
    for (f=2;f<=NF;f++) {
      if (split($f,array,/\./) > 2) {
        print;
        last;
      }
    }
  }' /etc/hosts

Будет напечатана каждая строка в /etc/hosts, где любое из имен хостов содержит как минимум 2 символа ..

Он перебирает каждое поле в строке ввода и использует для этого функцию awk split(), разбивая на .символов. Строка, разделенная на элементы разделителем, всегда будет иметь на 1 элемент больше, чем количество разделителей, поэтому проверка должна быть > 2, а не >= 2. например. «пример» будет иметь один элемент, сам по себе. «example.com» будет состоять из двух элементов («example» и «com» ​​). "mobile.example.com" будет иметь 3.

split()также разбивает строку на массив, но для этой задачи нас интересует только возвращаемое значение (количество элементов )и игнорируем массив.

Как только скрипт находит одно имя хоста с двумя или более .символами, он печатает всю строку, выходит из цикла for (с помощьюlast)и переходит к следующая строка ввода.

1
04.02.2019, 23:52
1 ответ

Похоже, что в некоторых файлах, которые вы пытаетесь скопировать, есть зарезервированные символы, и поэтому происходит сбой.

Ссылка находится здесь:https://kenfallon.com/rsync-mkstemp-failed-no-such-file-or-directory-2/

Нет действительно эффективного способа игнорировать символ в имени файла и сделать резервную копию полезной, так как имена больше не будут одинаковыми. Вам было бы трудно вспомнить, какой недопустимый символ был проигнорирован из каких файлов, чтобы восстановить их, особенно если рассматриваемый был удален или иным образом удален на некоторое время.

0
28.04.2021, 23:37

Теги

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