Estoy haciendo una sincronización entre una carpeta local y una remota. Sucedió que perdí un archivo por un comando estúpido.
Estoy acostumbrado a unísono y a la forma en que usted confirma ("¿ir?") Antes de hacer la transferencia de archivos real.
¿Existe tal opción con rsync? (sin unísono en el lado del servidor)
¡Gracias!
Puede usar la opción -n con rsync para realizar una ejecución en seco. rsync le dirá qué operaciones habría realizado sin realizarlas realmente. Si está satisfecho con los resultados, vuelva a ejecutar sin la opción -n.
fuente
Puede hacer rsync para respaldar archivos al sobrescribir, usando la opción --backup,
después de ejecutar rsync, puede escanear el directorio de respaldo en busca de archivos y preguntar uno por uno si necesita restaurarlo.
fuente
Lamentablemente, no existe un método integrado en Rsync en el momento de la escritura.
La solución de Mike Fitzpatrick funcionará bien, sin embargo, si tiene un árbol de directorios muy grande, es posible que desee hacer algo que no haga que rsync vuelva a revisar todos los archivos
EDITAR: También hay un error en el que no se elimina un archivo de destino ... cuanto más lo miro, esta solución se rompe ... Lo dejo porque puede funcionar en su caso y también si alguien quiere arreglarlo. Además, alguien debe enviar una solicitud de función formal a https://bugzilla.samba.org/enter_bug.cgi?product=rsync
Escribí este script:
Intente pegar el script en un archivo llamado
rsync-confirm.bash
Entonces
chmod +x rsync-confirm.bash
Entonces
./rsync-confirm.bash -rvh /etc/ /tmp/etc/
Este script puede ser un poco defectuoso, noté que realmente no le gusta si no tiene una barra diagonal en el directorio de origen ...
fuente