Я пытаюсь переместить файл из одного каталога в другой в файловой системе, смонтированной на CIFS, с помощью команды:
mv /mnt/development/Backup/NagiosServer/latest/* /mnt/development/Backup/NagiosServer/daily/
В результате появляется сообщение об ошибке:
mv: '/mnt/development/Backup/NagiosServer/latest/20190512-backup.zip' and '/mnt/development/Backup/NagiosServer/daily/20190512-backup.zip' are the same file
Целевой файл в каталоге ... / daily / определенно не существует на данный момент.
Это список соответствующих каталогов после возникновения ошибки:
nagios@nagios-server:~$ mv /mnt/development/Backup/NagiosServer/latest/* /mnt/development/Backup/NagiosServer/daily
mv: '/mnt/development/Backup/NagiosServer/latest/20190514-backup.zip' and '/mnt/development/Backup/NagiosServer/daily/20190514-backup.zip' are the same file
nagios@nagios-server:~$ ls -lsha /mnt/development/Backup/NagiosServer/latest/
total 3.5G
0 drwxr-xr-x 2 nagios root 0 May 15 08:00 .
0 drwxr-xr-x 2 nagios root 0 May 13 15:15 ..
3.5G -rwxr-xr-x 1 nagios root 3.5G May 14 17:13 20190514-backup.zip
nagios@nagios-server:~$ ls -lsha /mnt/development/Backup/NagiosServer/daily
total 18G
4.0K drwxr-xr-x 2 nagios root 4.0K May 15 08:00 .
0 drwxr-xr-x 2 nagios root 0 May 13 15:15 ..
3.5G -rwxr-xr-x 1 nagios root 3.5G May 8 17:12 20190508-backup.zip
3.5G -rwxr-xr-x 1 nagios root 3.5G May 9 17:12 20190509-backup.zip
3.5G -rwxr-xr-x 1 nagios root 3.5G May 10 17:12 20190510-backup.zip
3.5G -rwxr-xr-x 1 nagios root 3.5G May 11 17:14 20190511-backup.zip
3.5G -rwxr-xr-x 1 nagios root 3.5G May 12 17:12 20190512-backup.zip
Список несмонтированной точки монтирования ничего не показывает:
nagios@nagios-server:~$ ls /mnt/development/
nagios@nagios-server:~$
Я следовал найденному совету [ 114] здесь , чтобы отключить кэширование CIFS, которое работает, но только при первой попытке mv. После этого происходит сбой с тем же сообщением об ошибке.
Что здесь происходит?
Я работаю под Ubuntu 18.04, а смонтированная файловая система CIFS находится на удаленной машине с Windows 10. Кроме того, на компьютере Windows установлена виртуальная машина VirtualBox, которая также работает под управлением Ubuntu 18.04. Команда mv работает без проблем при запуске с ВМ.
Это один и тот же файл, в том смысле, что во время перемещения в этих файлах произошла коллизия. Возможно, было бы более понятно, если бы вместо этого использовалось имя файла .
Это предупреждение о том, что вы перемещаете файлы из источника в место назначения, и этот файл или имя файла уже существует в месте назначения. Это означает, что есть вероятность, что вы потеряете данные. Этот существующий файл будет перезаписан.
Вы можете использовать флаги --interactive
или --force
, чтобы изменить это поведение, но вы должны понимать, что вы делаете.
$ man mv
...
-f, --force
do not prompt before overwriting
-i, --interactive
prompt before overwrite
-n, --no-clobber
do not overwrite an existing file
If you specify more than one of -i, -f, -n, only the final one takes effect.
Когда вы вводите команду в первый раз, некоторые файлы перемещаются из источника в место назначения, пока этот файл не будет перемещен. В это время mv
выдает ошибки и предупреждает вас о ситуации. Будьте осторожны, что на данный момент вы не завершили ход. Вы не копируете, поэтому многие исходные файлы могут отсутствовать в исходном каталоге.
Если вы знаете, что вам не нужны данные, находящиеся в данный момент в месте назначения /mnt/development/Backup/NagiosServer/daily/20190512-backup.zip
, удалите их перед выполнением команды mv
или принудительно перезапишите существующие файлы.
Я рекомендую вам также изучить rsync
и его возможности.