1. TOP
  2. Webサービス
  3. Linux
  4. 「tar: 空のアーカイブ作成はご容赦願います」というエラーについて

「tar: 空のアーカイブ作成はご容赦願います」というエラーについて

|

ecoteki-image

下記のシェルスクリプトに関する質問について、ご存知の方がいらっしゃいましたらご教示を願います。

質問の内容

1.tar: 空のアーカイブのエラー

添付のシェルスクリプトで、WordPressサイト全体のバックアップをしようとすると「tar: 空のアーカイブ作成はご容赦願います」と言うエラーが出ます。なぜでしょうか?

2.WordPressサイト全体のバックアップについて

「tar: 空のアーカイブ作成はご容赦願います」と言うエラーを出させずに、WordPressサイト全体をバックアップするためには、添付のファイルをどのように書き換えればよろしいでしょうか?

質問の補足

補足 1

さくらのVPSにあるこのWordPressサイトのファイルとデータベースをシェルスクリプトで圧縮して、さくらのレンタルサーバーにその圧縮ファイルを保存しようと考えています。

補足 2

./e-yota_backup.shというファイルにWordPressサイト保存のための、シェルスクリプトを記述していますが、実行すると「tar: 空のアーカイブ作成はご容赦願います」というエラーが表示されます。

補足 3

シェルスクリプトのソースコードは、以下の通りです。なおこのソースコードはさくらのナレッジの記事を元に作成しました。


#!/bin/bash

datestr=`date +%Y%m%d-%H%M%S`
STATUS=0

# sakura knowledge http://knowledge.sakura.ad.jp/knowledge/4334/
function scpfile(){
    eval "scp -i /root/.ssh/id_rsa $1 ecoteki@11.222.333.444:/home/ecoteki/www/e-yota_backup/$2"

    if [ $? -ne 0 ]
    then
        echo "[ERROR]scp error. file=$1"
        STATUS=1
    fi
    return
}

function deletefile(){
   CNT=0
   for file in `ls -1t ${1}*`
   do
   CNT=$((CNT+1))

   if [ ${CNT} -le 10 ]
   then
       continue
   fi
   eval "rm ${file}"
   done
   return
}

eval "tar czf /e-yota_backup/e-yotafile_${datestr}.tar.gz /var/www/e-yota"

if [ $? -ne 0 ]
then
    echo "[ERROR]tar error."
    STATUS=1
fi

eval "mysqldump -uroot -phogefuga mysql wordpressdb |gzip -c > /e-yota_backup/e-yotadb_${datestr}.sql.gz"

if [ $? -ne 0 ]
then
    echo "[ERROR]mysqldump error."
    STATUS=1
fi

deletefile "/e-yota_backup/e-yotafile_"
deletefile "/e-yota_backup/e-yotadb_"

scpfile /e-yota_backup/e-yotafile_${datestr}.tar.gz e-yota.tar.gz
scpfile /e-yota_backup/e-yotadb_${datestr}.sql.gz e-yotadb.sql.gz

if [ ${STATUS} -ne 0 ]
then
    SUBJECT="[ERROR]e-yota backup report"
else
    SUBJECT="[SUCCESS]e-yota backup report"
fi

echo "" | mailx -s "${SUBJECT}" "dummy@gmail.com"

exit ${STATUS}

 

追記

上記のシェルスクリプトコード自体は正しいものの、ootの直下に/e-yota_backupというディレクトリを作成していなかったため、タイトルのエラーが出ておりました。当該ディレクトリを作成した上で、シェルスクリプトのファイルを再度実行するとエラーは表示されなくなり、バックアップができるようになりました。さくらのナレッジの記事でこの箇所の作業をすることを忘れていました↓

関係者のみなさまありがとうございました!

【参考ページ】
http://qiita.com/kite_999/items/8cee371023bc4640a6f9