如何比较两个目录,如果它们是完全相同的,则删除第二个

时间:2017-06-29 21:26:27

标签: bash unix scripting directory

我试图在连接到外部硬盘的raspberry pi系统上设置自动备份。

基本上,我有共享文件夹,他们通过samba在rPI下安装

/mnt/Comp1

/mnt/Comp2

然后我将插入外置硬盘并在

下安装两个文件夹
/media/external/Comp1
/media/external/Comp2

然后我将从/ mnt / Comp1 *到/ media / external / Comp1 / *运行递归副本,与Comp2运行相同。

我需要帮助的是副本的末尾(因为它总共有5台计算机),我想验证所有文件是否已传输,如果它们已经完成并且一切都在外部,那么我可以自动从本地机器上删除。我知道这是冒险的,因为它几乎不可避免地会删除可能无法备份的内容,但我需要帮助知道从哪里开始。

我发现了很多关于检查文件夹内容的信息,我知道我可以使用diff命令,但我不知道如何在这个伪代码中使用它

use diff on directories /mnt/Comp1/ and /media/external/Comp1

if no differences, proceed to delete /mnt/Comp1/* recursively

if differences, preferably move the files not saved to /media/external/Comp1

repeat checking for differences, and deleting if necessary

1 个答案:

答案 0 :(得分:0)

尝试类似:

abstract class A{
    void show(){
        System.out.println("Hello A");
    }       
     abstract void msg();    
}

class B extends A{
    @Override
    void msg(){
        System.out.println("Hello B");
    }
}

class C extends A{

       @Override
       void msg(){
             System.out.println("Hello C");
       }
}

class D{
    void display(A ob){
        ob.msg(); 
    }
}

用$检查返回值?      如果返回值为1,则删除d2。