一次进行多个备份?

一次进行多个备份?

所有配置都位于

/home/achhainsan/achhainsan/glassfish/domains/blog_website/config    
/home/achhainsan/achhainsan/glassfish/domains/register_sign_in/config

我想备份所有这些配置并将其放入 /home/achhainsan/achhainsan/all_config_bakup

在 all_config_bakup 中,配置应命名为 blog_website_config、register_sign_in_config 等。为了简单起见,我们可以将它们视为目录的一部分。

我尝试的解决方案:

  • /home/achhainsan/achhainsan/glassfish/domains/

  • ls

  • 将其存储到数组中

  • 循环该数组

  • 对于每个价值在循环

    • cp config /home/achhainsan/achhainsan/all_config_bakup/**$value**
    • 递减计数器

答案1

每个站点都有一个config,并且您希望每个config文件都根据该站点进行命名。跨站点迭代:

#!/bin/sh
baseDir=/home/achhainsan/achhainsan/glassfish/domains
backupDir=/home/achhainsan/achhainsan/all_config_bakup

for siteDir in "$baseDir"/*
do
    siteName="${siteDir##*/}"    # Remove leading pathname
    cp -p "$siteDir/config" "$backupdirDir/${sitename}_config"
done

答案2

我认为你让这种方式变得复杂。如果您只想备份 2 个目录中的配置文件,只需使用柏油命令。如果看起来不像您排除任何文件。

cd /home/achhainsan/achhainsan/glassfish/domains/
tar -cvf config.tar blog_website/config

对其他目录重复此操作,或将它们添加到同一个 tar 文件中。

您可以尝试的另一种方法是使用git。 Git 是一种主要由程序员使用的版本控制程序。有些人用它来跟踪或管理配置文件。只需将文件添加到存储库,如果需要替换文件,只需从本地 git 存储库中提取它即可。欲了解更多详细信息,请参阅点文件在 git 文档中。

相关内容