GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara rsync file / folder dari tanggal tertentu ke depan?

Solusi 1:

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

Solusi 2:

Anda ingin melakukan find lalu sync

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

Solusi 3:

Dengan asumsi Anda ingin menyinkronkan beberapa folder dari server ke folder lokal, tetapi Anda selalu hanya ingin menyinkronkan file yang telah dibuat sejak sinkronisasi terakhir. Maka perintah berikut mungkin berguna. Masukkan ini, misalnya, .bashrc Anda menentukan alias yang menyinkronkan semua file yang baru dibuat. File dapat dihapus secara lokal dan tidak akan disinkronkan lagi saat memanggil kembali perintah sinkronisasi. Hanya file yang dibuat setelah sinkronisasi terakhir di server yang akan disalin ke folder lokal.

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"

Solusi 4:

Memodifikasi jawaban dari Thomas yang disinkronkan berdasarkan tanggal modifikasi file ke skrip, agar lebih mudah dibaca manusia dan juga menyinkronkan folder bersarang.

#!/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

Untuk init, seseorang mungkin harus membuat last_sync file dari jarak jauh, yang berguna untuk perintah berikut

touch -d "2 hours ago" last_sync

yang membuat file bernama last_sync dengan tanggal pembuatan 2 jam yang lalu.


Linux
  1. Bagaimana Cara Menghapus Izin Jalankan Secara Rekursif Dari File Tanpa Menyentuh Folder?

  2. Bagaimana cara zip/unzip file/folder di Centos?

  3. Cara menyalin direktori secara rekursif menggunakan rsync sambil mengecualikan file tertentu

  1. folder gabungan linux:rsync?

  2. Bagaimana mencegah proses dari menulis file

  3. File khusus Linux (mv atau cp) dari daftar teks file?

  1. Cara Mengecualikan Direktori Tertentu Dari Menyalin Di Linux

  2. Bagaimana Cara Selektif Membungkam Rsync?

  3. Pelajari cara menyalin file dan folder dari/ke server lain