El problema es que quiero poder ver errores al mover un archivo, pero no puedo ver errores con problemas de permisos. En otras palabras, me importa si el archivo no se transmite completamente, pero no quiero ver errores como este:
mv: no se pudo conservar la propiedad de `/home/blah/backup/pgsql.tar.gz ': operación no permitida
Así que quiero algo como: mv $backupfile $destination --ignore-permissions.
El archivo de copia de seguridad puede ser de 1 MiB a 5 GiB y se transfiere a través de NFS.

cifs).Respuestas:
mves la herramienta incorrecta para este trabajo; quierescpy luegorm. Dado que está moviendo el archivo a otro sistema de archivos, esto es exactamente lo quemvestá haciendo detrás de escena de todos modos, excepto quemvtambién está tratando de preservar los bits de permiso de archivo y la información del propietario / grupo. Esto se debe amvque preservaría esa información si moviera un archivo dentro del mismo sistema de archivos emvintente comportarse de la misma manera en ambas situaciones. Dado que no le importa la preservación de los bits de permiso de archivo y la información del propietario / grupo, no use esa herramienta. Usocp --no-preserve=modey en surmlugar.fuente
cp --no-preserve=mode,ownership $backupfile $destinationverifica el código de salida y luego hazlorm $backupfilesi todo está bien.Cuando mueve un archivo dentro del mismo sistema de archivos,
mvsepara el archivo de su ubicación anterior y lo adjunta a su nueva ubicación; metadatos como los permisos siguen siendo los mismos. Cuando mueve un archivo a un sistema de archivos diferente,mvcopia el archivo, intenta replicar tantos metadatos como sea posible y elimina el original.Como se está moviendo a un sistema de archivos diferente y no desea replicar muchos metadatos, también podría copiar el archivo y luego eliminar el original.
Esto conserva los permisos del archivo hasta cierto punto (por ejemplo, legibilidad mundial, ejecubilidad). El tiempo de modificación del archivo no se conserva. Con GNU
cp, puede usar la--preserve=…opción para controlar qué metadatos se replican más finamente, por ejemplo--preserve=mode,timestamps.También puede usar
rsyncy decirle lo que desea conservar. La opción-asignifica "preservar la mayoría de los metadatos", que incluye al propietario si se ejecuta solo como root.fuente
rsyncsolución funciona de manera excelente. Había estado luchando tratando de transferir mi antigua instalación de ubuntu fuera del recurso compartido CIFS. Mi rsync no informó un error al mover el archivo, pero no lo movió y solo informó problemas de permisos.rsyncsolución!