每当检测到更改时如何同步/备份文件?

每当检测到更改时如何同步/备份文件?

我有两个分区,一个用于使用,一个用于备份。那么,是否有任何工具可以将文件夹从第一个分区同步到第二个分区。此外,每当文件或文件夹发生更改时,该工具都应立即同步。如果无法立即同步,我如何自动执行我的任务,以正确同步假设我已将文件夹安装/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

相关内容