linux - 使用输入列表备份的 Shell 脚本

标签 linux bash shell ubuntu backup

我正在构建一个脚本来备份我的 Linux 中的文件和目录。 这些备份存储在 map 存档中。

现在我在我的源代码中使用了一个特定的目录,但是我有例如

包含这些目录的 input.txt:

/Downloads
/etc/var

或者还有特定的文件

/etc/log/test.txt

使用/Downloads 或/etc/var 还必须备份这些目录的子目录。例如。/Downloads 有 3 个其他目录/dir1、/dir2、/dir3 这些也需要存档。

我如何使用该文件 input.txt 作为源? 在整个 input.txt 文件中,我必须制作 1 个存档。

#!/bin/sh

source="/Downloads"     
archive="example.tgz"       
dest="Archive"              
path="input.txt"                

tar czf $dest/$archive $source

ls $dest

#this is how i read my file
while read line
    do
        echo $line
done < $path

最佳答案

使用 tar 创建存档 -T 选项可用于从输入文件中获取文件。

输入.txt:

/Downloads
/etc/var
/etc/log/test.txt

脚本:

#!/bin/sh

archive="example.tgz"       
dest="Archive"              
path="input.txt"                

tar czf $dest/$archive -T $path

关于linux - 使用输入列表备份的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34592283/

相关文章:

c - snprintf 在被复制的字符串中使用格式说明符

linux - GnuPG - 如何在不解密的情况下编辑文件并先保存到本地磁盘?

linux - 如何在 Linux 中为电子邮件添加颜色编码?

linux - find命令重命名文件

regex - sed 从字符串中提取版本号(只有版本,没有其他数字)

linux - 如何使用具有文件列表的变量通过管道将输入发送到 tar

python - 使用 Python gtk3 在 X 上进行全局键绑定(bind)

linux - 冒号可以用作标识符吗?

linux - 从另一个终端减少/增加 omxplayer 音量

linux - crontab 中没有 mdadm -D 输出