GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo sincronizar archivos/carpetas desde una fecha específica en adelante?

Solución 1:

rsync --progress --files-from=<(find /src_path -mtime -3 -type f -exec basename {} \;) /src_path/ /dst_path

Solución 2:

Querrías hacer un find entonces sync

find /path -file -mtime +3 -exec rsync {} destination \;

Solución 3:

Suponiendo que desea sincronizar alguna carpeta de un servidor a una carpeta local, pero siempre desea sincronizar solo los archivos que se han creado desde la última sincronización. Entonces el siguiente comando podría ser útil. Poniendo esto, por ejemplo, su .bashrc define un alias que sincroniza todos los archivos recién creados. Los archivos se pueden eliminar localmente y no se sincronizarán nuevamente cuando se vuelva a llamar al comando de sincronización. Solo los archivos que se hayan creado después de la última sincronización en el servidor se copiarán en la carpeta local.

TARGET=/local/target/folder/
SOURCE=/server/folder/
alias sync-since-last="touch $TARGET/last_sync && rsync -ahv --update --files-from=<(ssh [email protected] 'find $SOURCE/source/ -type f -newer $SOURCE/last_sync -exec basename {} \;') [email protected]:$SOURCE/source/ $TARGET && rsync -ahv $TARGET/last_sync [email protected]:$SOURCE"

Solución 4:

Modificar la respuesta de Thomas, que se sincroniza en función de la fecha de modificación de un archivo en un script, para que sea más legible para los humanos y también para sincronizar carpetas anidadas.

#!/bin/bash

TARGET=/PATH/TO/TARGET
[email protected]
SOURCE=/ABSOLUTE/SOURCE/PATH/ON/HOST

touch $TARGET/last_sync

rsync \
    -ahrv \
    --update \
    --files-from=<(ssh $HOST "find $SOURCE -type f -newer $SOURCE/last_sync -exec realpath --relative-to=$SOURCE '{}' \;") \
    $HOST:$SOURCE \
    $TARGET

rsync -ahv $TARGET/last_sync $HOST:$SOURCE

Para init, probablemente debería crear un last_sync archivo de forma remota, para lo cual el siguiente comando es útil

touch -d "2 hours ago" last_sync

que crea un archivo llamado last_sync con una fecha de creación de hace 2 horas.


Linux
  1. Cómo usar Rsync para sincronizar archivos nuevos o cambiados/modificados en Linux

  2. Cómo restaurar archivos o carpetas individuales desde Plesk Backup

  3. Cómo excluir directorios específicos de la copia en Linux

  4. ¿Cómo silenciar selectivamente Rsync?

  5. Aprenda a copiar archivos y carpetas desde/hacia otro servidor

Cómo excluir archivos y directorios con Rsync

Cómo transferir archivos con Rsync a través de SSH

Cómo organizar automáticamente tipos similares de archivos en carpetas específicas

¿Cómo eliminar recursivamente los permisos de ejecución de los archivos sin tocar las carpetas?

Cómo usar Rsync para copiar/sincronizar archivos entre servidores

¿Archivos específicos de Linux (mv o cp) de una lista de archivos de texto?