내 /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
/home
tar 파일 경로의 추가 내용을 참고하세요.
대신 디렉토리를 미리 변경할 수 있습니다.
#!/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 '{}' \;