나중에 Restic을 사용하여 백업할 디렉터리 목록을 컴파일해야 합니다. 이 목록에 포함하려면 각 하위 도메인 내에 정확히 두 개의 디렉터리가 필요합니다. 다른 모든 것은 백업되어서는 안 됩니다.
디렉토리 구조는 다음과 같습니다.
subdomain1.domain.tld
|- other_directory1
|- public_html
|- backup1
|- backup2
|- no_backup1
|- no_backup2
|- no_backup3
subdomain2.domain.tld
|- other_directory1
|- public_html
|- backup1
|- backup2
|- no_backup1
|- no_backup2
|- no_backup3
subdomain3.domain.tld
|- other_directory1
|- public_html
|- backup1
|- backup2
|- no_backup1
|- no_backup2
|- no_backup3
마지막으로 내 목록은 다음과 같습니다.
/path/to/my/subdomains/subdomain1.domain.tld/public_html/backup1
/path/to/my/subdomains/subdomain1.domain.tld/public_html/backup2
/path/to/my/subdomains/subdomain2.domain.tld/public_html/backup1
/path/to/my/subdomains/subdomain2.domain.tld/public_html/backup2
/path/to/my/subdomains/subdomain3.domain.tld/public_html/backup1
/path/to/my/subdomains/subdomain3.domain.tld/public_html/backup2
지금까지 나는 이것을 가지고 있습니다 :
find /path/to/my/subdomains -maxdepth 1 -mindepth 1 -type d -printf '%f\n' | sort | xargs readlink -f > list.txt
이렇게 하면 모든 하위 도메인 목록이 제공되지만 public_html/backup1
각 public_html/backup1
디렉터리 목록은 제공되지 않습니다. 여기에서 진행하는 방법에 대한 제안이 있으십니까? 감사해요!
답변1
이름이 로 시작하는 디렉토리를 찾고 backup
전체 경로를 인쇄합니다.
find /path/to/my/subdomains -type d -name 'backup*'
백업할 모든 디렉터리의 전체 이름을 명시적으로 나열하려면 다음을 수행하십시오.
find /path/to/my/subdomains -type d \( -name backup1 -o -name backup2 \)
답변2
이러한 디렉터리를 찾을 수 있는 위치를 더 구체적으로 알고 싶다면 zsh
셸에서 다음을 수행할 수 있습니다.
print -rC1 /path/to/my/subdomains/*/public_html/(backup1|backup2)(N/)
인쇄하거나:
dirs=(
/path/to/my/subdomains/*/public_html/(backup1|backup2)(N/)
)
사용하기 위해 배열에 저장합니다 (( $#dirs )) && my-backup-cmd $dirs
.
그러나 요점이 backup1
존재 여부에 관계없이 각 디렉토리에 대해 및 를 인쇄하는 것이라면 다음과 같이 할 수 있습니다.backup2
public_html
print -rC1 /path/to/my/subdomains/*/public_html(N-/e[
'reply=($REPLY/{backup1,backup2})'])
즉, e
평가 glob 한정자를 사용하면 public_html
각 디렉터리에 대해 이러한 두 경로가 반환됩니다.
또는:
() {
print -rC1 $^argv/{backup1,backup2}
} /path/to/my/subdomains/*/public_html(N-/)
이번에는 이러한 public_html
디렉터리를 인수로 사용하여 and를 추가하는 /backup1
익명 함수를 사용합니다 /backup2
.