tar.zip을 저장하는 중 오류가 발생했습니다.

tar.zip을 저장하는 중 오류가 발생했습니다.

/home.

이러한 디렉토리에는 jar 파일과 일부 .txt.properties 및 기타 디렉토리가 포함되어 있습니다. 처음 스크립트를 시작했을 때 잘 작동했습니다. 수정했는데 어제 일부 기능을 실행해보니 오류가 발생하고 이유를 찾을 수 없습니다.

tar -cjf명령을 사용하여 .tar.zip 아카이브를 생성할 때 이 오류가 발생합니다.

tar: home/myFolder: 불가능 stat: 이 유형의 파일 또는 폴더가 없습니다.

backupdate=$(date +%Y-%m-%d) 
dirbackup=/save/$backupdate 
mkdir $dirbackup 
list_dossier=`ls ../home`

for server in $list_dossier 
do

    tar -cjf $dirbackup/$server.tar.zip home/$server

done

편집하다 저는 이 저장된 모양을 유지하려고 합니다. X 아카이브에 내 X 폴더가 포함된 date라는 폴더가 있습니다./home

#!/bin/bash
backupdate=$(date +%Y-%m-%d)
dirbackup=/save/$backupdate
mkdir $dirbackup

for server in /home/*
do
    echo $server"test"
    tar -cjf $dirbackup$server.tar.zip $server

done

exit

답변1

이 줄은 문제를 일으킬 수 있습니다:

tar -cjf $dirbackup$server.tar.zip $server

그 이유는 $server다음과 같기 때문입니다 /home/myserver. 따라서 이 명령은 다음과 같이 확장됩니다.

tar -cjf /save/2019-04-13/home/myserver.tar.zip /home/myserver

/hometar 파일 경로의 추가 내용을 참고하세요.

대신 디렉토리를 미리 변경할 수 있습니다.

#!/bin/bash
backupdate=$(date +%Y-%m-%d)
dirbackup=/save/$backupdate
mkdir $dirbackup || exit
cd /home || exit

for server in *
do
    echo $server"test"
    tar -cjf $dirbackup$server.tar.zip $server
done

답변2

backupdate=$(date +%Y-%m-%d) 
dirbackup=/save/$backupdate 
mkdir $dirbackup

find ../home -type d -not -name "." -a -not -name ".." -exec tar -cjf $dirbackup/'{}'.tar.bz2 '{}' \;

관련 정보