vine-users ML アーカイブ



[vine-users:073587] シェルス クリプトの自動実行の失敗

こんにちは。
まだまだLinux初心者のTAKAMIです。

以下の件に関して、色々試行錯誤してみたのですが、うまくいかないので、質問
させて頂きます。

HDDの中身を別のHDDに定期的にバックアップしたくて、簡単なシェルスクリプト
を作成しました。そして、自動的に実行されるように/etc以下にある
"cron.daily" 等に実行させたいシェルスクリプトを置いたのですが、うまく実
行されません。"crontab"に記述している時間になると、とりあえず実行してい
るようなのですが、全てが実行されているわけではなく、途中で終わっており、
最後までバックアップされません。log等を見てみても異常なく終了しているよ
うなのですが…。 ちなみに以下のバックアッププログラムを実行させようと思
っています。

#(説明:)は、説明のため追記
***********************************************************************

#!/bin/sh

mount -t ext3 /dev/hdb1 /backup
#(説明:バックアップ先の別のHDDをマウント)

rm -rf /backup/backup_daily/*
#(説明:以前に作成された古いバックアップ内容のフォルダーを削除)

mkdir /backup/backup_daily/home_daily
mkdir /backup/backup_daily/work_daily

cd /home
tar -cf  - . | (cd /backup/backup_daily/home_daily; tar xvf -)
#(説明:/homeの内容を全て圧縮して、/home_dailyで解凍)

cd /work
tar -cf  - . | (cd /backup/backup_daily/work_daily; tar xvf -)
#(説明:/workの内容を全て圧縮して、/work_dailyで解凍)

umount /backup

***********************************************************************

上記を手動で ./シェルプログラム名 を実行させると、最後までちゃんと実行さ
れ、バックアップもきちんと完了できます。(だから、プログラムは問題ないと
思うのですが…)
しかし、"cron.daily"等で実行された場合、rmコマンドで、古いフォルダーを削
除してmkdirコマンドで新しいフォルダー等を作成し、tarコマンドでバックアッ
プの途中まで実行されているのですが、完全に全てがバックアップされるのでは
なく、一部のみがバックアップされます。実行するたびに、どこまでちゃんと実
行されているかは、変わります。最後のアンマウントも実行されていません。

"Rsync"や"DAR"によるバックアップも試しましたが、同様に最後まで実行してく
れません。(もちろん手動であればうまくいく)

どなたか、解決方法に心当たりがある方がいらっしゃいましたら、ご教授のほど
宣しくお願いします。まだまだ、初心者なので、何が悪いのか検討がつかないの
で、教えて頂けると助かります。

以前使用していた、別の構成のPCでvine2.6の頃も同様の症状だったので、構成
はあまり関係ないとは思いますが、一応、以下の様な構成です。

Vine3.2 (3.1CRを新規インストール、3.2にアップデートです)
kernel #2.4.27-Ovl7.6
CPU Pentium4 3GHz
メモリ 1024MB
マザーボード GA-81PE1000-G(GIGABYTE社製)