#!/bin/sh
date=`date "+%Y-%m-%dT%H:%M:%S"`
rsync -aP --link-dest=/target/current '/source/folder' /target/back-$date
rm -f /target/Backups/current
ln -s back-$date /target/current
นี่เป็นสคริปต์เล็กน้อยที่ฉันได้รับจากอินเทอร์เน็ตและปรับเปลี่ยนเล็กน้อย สคริปต์นี้ทำงานใน crontab ของฉันทุก 5 นาที จุดของสคริปต์นี้คือการรับไฟล์ประวัติ / เวลาเครื่อง -his
ฉันได้รับรายชื่อสแน็ปช็อตในโฟลเดอร์สำรองทุกห้านาที (เช่นทุกครั้งที่สคริปต์ทำงาน)
สิ่งนี้ใช้งานได้ดี มีข้อเสียอย่างหนึ่งคือ: หากไม่มีไฟล์ที่เปลี่ยนแปลงมันจะยังคงทำงานและสร้างสแนปชอตอย่างสมบูรณ์ เป็นไปได้หรือไม่ที่จะทำการแก้ไขเพื่อที่จะถ่ายภาพรวมที่เกิดขึ้นจริงเท่านั้นหากมีการเปลี่ยนแปลงไฟล์?
ฉันรู้ว่ามันไม่ใช้พื้นที่ใด ๆ แต่มันทำให้โฟลเดอร์สำรองของฉันค่อนข้างเล็ก
diff
คำสั่งเพื่อดูว่ามีอะไรที่เปลี่ยนแปลงไปหรือไม่ ยังมีตัวเลือกอื่นให้ใช้rsync
และ-n
/--dry-run
เพื่อดูว่าการซิงค์แบบเต็มจำเป็นต้องเกิดขึ้นหรือไม่