Saya tidak yakin mengapa ini tidak berfungsi seperti yang diharapkan. Saya memiliki cadangan rsync penuh dari / skrip / sumber di / skrip / penuh dan ingin memasukkan cadangan diferensial ke / skrip / diff Namun, ketika file ditambahkan ke lokasi asal / skrip / sumber dan kemudian cadangan diferensial dijalankan , file dicadangkan ke / skrip / penuh alih-alih / skrip / diff Berikut ini skrip pengujian yang saya buat:
DIFF='/scripts/diff'
SOURCE='/scripts/source'
FULL='/scripts/full'
CTIME=$(date +%T)
TESTFILE=newfile$CTIME
rm -r $DIFF/*
rm $SOURCE/newfile*
rm $FULL/newfile*
echo "I'm in a file " > $SOURCE/$TESTFILE
rsync \
-a \
-A \
-X \
-h \
-H \
-b \
--backup-dir=$DIFF \
$SOURCE/* \
$FULL
echo "----------------------------------------------------------------------"
echo "Our test file is: $TESTFILE"
echo "----------------------------------------------------------------------"
echo "Source Files in $SOURCE - we should see our one test file"
ls $SOURCE
echo "----------------------------------------------------------------------"
echo "Full backup in past - We should not see any test files here"
ls $FULL
echo "----------------------------------------------------------------------"
echo "Diff files in $DIFF - we should see the same test file here as"
echo "was in the $SOURCE dir"
ls $DIFF
Dalam skrip, file uji akan dijatuhkan di direktori sumber. rsync seharusnya tidak menyalinnya direktori lengkap (tetapi itu) Ini harus disalin ke direktori diff (bukan).
Membaca ulang halaman manual dan mencari di web tidak membantu. Skema pencadangan diferensial sederhana ketika disesuaikan untuk lingkungan saya tidak berfungsi. Apa yang saya lakukan salah di sini? Saya ingin melakukan pencadangan penuh sesekali. Lalu saya ingin menjalankan diff berikutnya yang hanya berisi file yang diubah (sementara cadangan lengkap tidak pernah berubah). Gagasannya adalah bahwa ada cadangan lengkap untuk referensi, dan file yang diubah dapat ditemukan di diff. Skrip saya lebih kompleks dari ini, tetapi saya menyederhanakannya untuk mengisolasi masalah ini. Terima kasih, -Jeff