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 '{}' \;

関連情報