将目录及其内容复制到 RAM 中并备份到原始目录

将目录及其内容复制到 RAM 中并备份到原始目录

我想在 RAM 中复制一个目录及其内容,执行我的例程并定期在我的原始目录上进行一些备份/同步。

所以如果我有一个mydir/包含 2 个文件的目录:

$ ls mydir/
file1.tex  file2.tex

我可以用以下命令安装它:

sudo mount -t tmpfs -o size=100m tmpfs ~/mydir

但安装后的它是空的(如预期的那样):

$ ls mydir/
$ 

1 - 是否可以将原始mydir内容保留在我的安装中mydir

2 - 是否可以同步(假设每 5 分钟)硬盘上mydir安装的内容?mydir我对绑定选项很感兴趣,但我不确定它是如何工作的。

答案1


是的,您可以保留当前的 ​​mydir 内容。探索mount --bind
是的,可以每 5 分钟与喜欢rsyncmount --bind命令同步一次。

但是,我会创建一个单独的目录来安装:
比如说,mkdir /home/user/memdrive.

你应该制作一个脚本:

#!/bin/bash
if mount | grep /home/user/memdrive > /dev/null; then
    cp /home/user/memdrive /mydir
    else
    mount -t tmpfs -o size=100M tmpfs /home/user/memdrive
    cp /mydir /home/user/memdrive
    umount /home/user/memdrive
fi

如果内存驱动器未安装,它将安装它并将 /mydir 的内容复制到其中。
如果内存驱动器已安装,它将cp/home/user/memdrive 返回到 /mydir 然后卸载。

修改以满足您的需要。

您还可以手动执行所有这些操作或在不同的脚本中执行这些操作。

相关内容