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