
Quiero crear un script de shell que copie el directorio de respaldo de mi servidor de origen y los coloque en un directorio diferente en el servidor de destino mediante el comando sftp. Además, después de colocar el archivo en el servidor de destino, quiero comparar el tamaño del servidor de origen y de destino para verificar que el sftp haya sido completamente exitoso o no.
Respuesta1
Utilice una herramienta específica en lugar de sftp
hacer esto, por ejemplo rsync
:
Desde el servidor de origen:
rsync -av -e ssh /path/to/files target-server:/path/to/backup/
Desde el servidor de destino:
rsync -av -e ssh source-server:/path/to/files /path/to/backup/
Esto tiene la ventaja de que copiará sólo los archivos modificados o incluso sólo los cambios dentro de un archivo. Está haciendo una comparación de tamaño y tiempo de modificación de forma predeterminada, pero puede usarla -c, --checksum
para comparar según la suma de verificación.
Agregar --delete
para eliminar archivos que se han eliminado en el servidor de origen.