Удаленное переименование файла на Samba share через скрипт Bash
Я запускаю сценарий Bash под Cygwin, но этот вопрос применяется более широко.
У меня есть удаленный файл: //someremoteserver/somefile.db
Этот путь "//" находится под Cygwin- это, по сути, UNC-путь в сети Windows (в данном случае), поэтому назовите его Samba.
Файл большой: 50 ГБ.
Я хочу переименовать все это на удаленном конце:
mv //someremoteserver/somefile.db //someremoteserver/someotherfile.db
Я бы хотел, чтобы это заняло 5 наносекунд, потому что это просто переименование. Но это занимает два часа. Похоже, это происходит потому, что он на самом деле копирует файл через пространство памяти локального компьютера - он перемещает 50 ГБ по локальной сети (или, может быть, даже 100 ГБ, если он копируется сюда).
Обычно в локальной системе "mv" происходит мгновенно независимо от размера файла, потому что он только обновляет таблицу inode / file.
Есть ли хороший способ сделать то же самое, когда файл находится на удаленном общем ресурсе Samba?
1 ответ
Обычно в локальной системе "mv" происходит мгновенно независимо от размера файла, потому что он только обновляет таблицу inode/file.
Именно так. Я предполагаю, что вы захотите вызвать переименование /mv с хоста, содержащего файловую систему.