所有配置都位于
/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 文档中。