mv to nfs "не может создать обычный файл … файл существует", но создает пустой файл

У меня есть автоматический сценарий, который перемещает файлы данных с компьютера, который они собирают, на центральный сервер NFS для более общего доступа. Я недавно видел около 1% файлов, которые не могут быть перемещены, при этом mv сообщает об ошибке в файле, который уже существует:

mv: cannot create regular file `/mnt/data/2015/20150410_004130.dat': File exists 

Дело в том, что до самого момента, файл не существует, и после того, как mv пытается его создать, он существует, но с размером 0, разрешениями 0000 и датой в 1970-х годах (точная дата, по-видимому, немного увеличивается каждый время это случается).

Я обновил свой сценарий, чтобы запустить mv с помощью strace , а случаи, которые выходят из строя, выглядят точно так же, как те, которые преуспевают, пока не произойдет фактический сбой:

  1. попробуйте переименовать напрямую. Не удалось (неверная ссылка для нескольких устройств)
  2. отменить цель. Fails (Нет такого файла или каталога)
  3. файл с открытым исходным кодом для чтения
  4. открытый целевой файл с опциями O_WRONLY | O_CREAT | O_EXCL, perms 0600. Обычно работает, иногда не получается, заявляя, что «Файл существует»,

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

Такое поведение, похоже, началось примерно в то же время, когда я обновил Ubuntu 10.04 до Ubuntu 14.04 на сервере NFS (конфигурация клиента не изменилась).

Interesting Posts

Как мне связать мой ctrl + b, чтобы мне не нужно было нажимать его, чтобы изменить размер моей панели?

Скрипт для поиска трех разных пользователей в Интернете и печати

Асинхронно перенаправлять вывод std и вывод ошибки в файл

При открытии терминала не требуется логин?

Получение wmctrl для работы с несколькими окнами Emacs

стоп трубы () открытие stdin

apt зеркало выбирает неправильную архитектуру

как использовать долговые обязательства в сочетании с тем, когда пакет поступит в дебианский репозиторий?

Как узнать, поддерживает ли bash библиотеку readline?

Быть не sudo на debian, как сделать .sh выполнять каждый раз, когда я вхожу в систему?

Создавать журнал истории для рабочего каталога в bash

Почему «$ Namefile» дает мне такой результат?

Сохранять IP-адрес в удаленном хосте при каждом подключении (как пользователь без полномочий root)

iptables добавляет правила в цепочку OUTPUT

Невозможно использовать аргументы для «ls» в bash

Linux и Unix - лучшая ОС в мире.