备份网络 CIFS 共享至外部存储

备份网络 CIFS 共享至外部存储

我正在寻找一种方法,从 CLI 将 CIFS 共享的内容备份/同步到 Ubuntu 中的外部 USB。我已经安装了 cifs 共享,还安装了外部存储 USB。

我在 CIFS 共享上有以下目录结构:

$ mount -t cifs -o
    username='<myusername>',password='<mypassword>'
    //<mycifs_ip_address>/<mycifs_share_name> /mnt/myshare
$ ls /mnt/myshare

BackupFiles > 
            > 11_28_2014
                        > File_Today_11_16_2013.txt
                        > File_Yesterday_07_02_2014.txt
            > 07_16_2015
                        > File_Yesterday_04_29_2015.txt
                        > File_Tomorrow_10_12_2015.txt
                        > File_Yesterday_07_02_2015.txt
            > 12_05_2016
                        > File_Tomorrow_06_10_2016.txt
abc.pdf
File_Names.csv
Test.txt

请注意11_28_201407_16_201512_05_2016是目录。

我在外部 USB 上有以下目录结构:

$ mount /dev/sha4 mnt/myusbback
$ ls /mnt/myusbback

BackupFiles >
            > 11_28_2014
                        > File_Today_11_16_2013.txt
                        > File_Yesterday_07_02_2014.txt
def_config.sh
File_Output.dat
Testing_doc.docx

附加信息:

  1. 我正在使用 Ubuntu Server 16.04.1
  2. 挂载 CIFS 共享时,我需要指定用户名和密码。CIFS 共享已设置为访问时需要这些凭据。

问题:

我正在寻找一种方法来:

  1. 感知 CIFS 共享和外部 USB 上的目录结构,并在 USB 上创建缺失的目录
  2. 如果 USB 中缺少文件,请将 CIFS 共享中的文件复制到 USB 上的相应文件夹中
  3. 同步BackupFilesCIFS 共享上的目录(包括其所有子目录)和BackupFiles外部 USB 存储上的目录。

总之,我认为我需要一种方法来将所有文件(包括目录和子目录结构)从 CIFS 共享同步到外部 USB 存储上。

问题

有没有办法在 Ubuntu 中从 CLI 执行此操作?系统会提示我指定 CIFS 共享用户名和密码吗?

相关内容