Terminal: Usando Rsync para sincronizar archivos y carpetas
Rsync es segun la wikipedia:
«rsync es una aplicación libre para sistemas de tipo Unix y Microsoft Windows que ofrece transmisión eficiente de datos incrementales, que opera también con datos comprimidos y cifrados. Mediante una técnica de delta encoding, permite sincronizar archivos y directorios entre dos máquinas de una red o entre dos ubicaciones en una misma máquina, minimizando el volumen de datos transferidos. Una característica importante de rsync no encontrada en la mayoría de programas o protocolos es que la copia toma lugar con sólo una transmisión en cada dirección. rsync puede copiar o mostrar directorios contenidos y copia de archivos, opcionalmente usando compresión y recursión.
Actuando como un daemon de servidor, rsync escucha por defecto el puerto TCP 873, sirviendo archivos en el protocolo nativo rsync o via un terminal remoto como RSH o SSH. En el último caso, el ejecutable del cliente rsync debe ser instalado en el host local y remoto»
En criollo sería un método que nos permitirá sincornizar el contenido de una carpeta (archivos y subcarpetas de esta) a otra. Rsync nos permitirá copiar los contenidos de una carpeta a otra, sin necesidad de que estemos presentes 🙂
Para hacerlo, es muy sencillo:
# rsync -aq /directorio/original/ /directorio/destino/
Lenguaje del código: PHP (php)
Donde -aq es archivo y desatendido.
Pueden ver las variables y anexos de rsync haciendo un:
# man rsync
Lenguaje del código: PHP (php)
Ahora bien, la mejor característica que tiene este comando es la posibilidad de automatizarlo mediante un cron, donde por ejemplo necesitamos que los backups se sincronicen en otra carpeta.
# crontab -e
* */8 * * * rsync -aq /directorio/backups/ /directorio/destino/
Lenguaje del código: PHP (php)
Aquí copiará y sincronizará los backups cada 8hs al destino elegido.
Comentarios recientes