0 votos

¿Qué comando compara dos directorios de forma recursiva y valida que son imágenes espejo exactas (si es posible)?

Estoy moviendo archivos de pCloud a Google Drive y al usar Finder el proceso de copia aborta a veces debido a archivos invisibles y lo que no.

Así que estoy usando cp -r en el Terminal (las unidades compartidas de primer nivel de Google Drive deben crearse en la herramienta de administración de Drive, por lo que esa parte es un proceso manual).

el controlador pCloud sigue fallando en medio de la operación, así que tengo que reiniciar el controlador y empezar desde donde lo dejé volviendo a emitir el comando.

Me pregunto si hay un comando en el terminal de MacOS que confirme que tengo copias en espejo en Google Drive del repositorio de pCloud, dados todos los intentos fallidos debido a los archivos invisibles y a los fallos de los controladores.

15voto

yoliho Puntos 340

La respuesta a esto es rsync. No sólo para hacer la copia como sugiere @nohillside sino que se puede configurar para hacer sólo una verificación.

Normalmente diría que necesitas conseguir una versión más nueva de rsync que la que proporciona MacOS, ya que la de MacOS no mantiene los atributos extendidos, pero como los sincronizadores en la nube tampoco lo hacen, eso no importará.

Puedes ejecutar rsync para hacer un simulacro, es decir, no copiar ningún archivo sino sólo informar de las diferencias. El comando es

rsync --dry-run -av pcloud-dir/ gdrive-dir/

Se puede hacer una copia eliminando --dry-run Esto tiene otra ventaja sobre el Finder, ya que si la copia se interrumpe, puedes repetir el mismo comando y no volverá a copiar los archivos ya hechos.

4voto

pmagwood Puntos 101

Estoy de acuerdo con @mmmmmm ; rsync es la mejor opción sobre cp

Una alternativa a rsync para determinar

si hay un comando en el terminal de MacOS que confirme que tengo copias en espejo en Google Drive del repositorio de pCloud

se puede utilizar el dif comando. dif puede proporcionar una comparación de dos directorios y devolverá lo que existe sólo en una carpeta u otra, o nada en absoluto si son iguales.

diff -r /path/to/dir1 /path/to/dir2

Y, si @wide_eyed_pupil tiene la intención de seguir con cp puede añadir algunos argumentos para no copiar los archivos que ya están en el destino y para conservar los atributos y permisos.
Por ejemplo:

cp -nRav

ver man cp para ver qué hacen todos los argumentos.

También, de la página man..

COMPATIBILIDAD Las versiones históricas de la utilidad cp tenían una opción -r. Esta implementación soporta esa opción; sin embargo, se desaconseja su uso su uso, ya que no copia correctamente archivos especiales, enlaces simbólicos enlaces simbólicos, o fifo's.

(utilizar -R en su lugar)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X