변경 사항이 감지될 때마다 파일을 동기화/백업하는 방법은 무엇입니까?

변경 사항이 감지될 때마다 파일을 동기화/백업하는 방법은 무엇입니까?

두 개의 파티션이 있는데 하나는 사용용이고 다른 하나는 백업용입니다. 첫 번째 파티션에서 두 번째 파티션으로 폴더를 동기화하는 도구가 있습니까? 또한 파일이나 폴더가 변경될 때마다 도구는 즉시 동기화되어야 합니다. 폴더가 폴더 /dev/sda6에 마운트(Windows) 되어 있고 window즉시 동기화되지 않는 경우 Linux를 실행한다고 가정하고 올바르게 동기화하도록 작업을 자동화하려면 어떻게 해야 합니까? 파일이나 폴더를 추가하거나 삭제할 때 마다 백업/동기화를 업데이트하고 /root/*싶습니다 ./media/window/backup/root/*/media/window/backup

답변1

답변2

글쎄, 나에겐 결국 계획이 있다. 백업/동기화하고 싶은데 삭제하면 사라져요. 의사 코드는 다음과 같습니다.

while inotify create/modify #executes command if create/modify 
do
   if `du source` is greater than `du destination` then #size of source is gt than dest
      rsync source/ dest -av
done

드디어 해냈다

#!/bin/bash
if [[ `pgrep -f $0` != "$$" ]]; then
    echo "Exiting"
    exit
fi
while inotifywait -r -e modify,create /root/MachineYadav 1>/dev/null 2>/dev/null
do
    echo "0" > /tmp/KaliLinuxBackup
    clear && sleep 1.5 && echo "Backing up" && sleep 0.5
    if [[ `du -s /root/MachineYadav/ | awk '{print $1}'` -gt `du -s /root/Mount/Window/Kali-Mirror | awk '{print $1}'` ]]; then
        echo "1" > /tmp/KaliLinuxBackup
        rsync /root/MachineYadav/ /root/Mount/Window/Kali-Mirror/ -av 
    fi
    clear && echo "Finishing" && sleep 0.5
done

약간의 수정을 거쳐 비슷한 구현을 하게 될 것입니다. @Artem S. Tashkinov 및 @fra-san에게 감사드립니다.

관련 정보