- 締切済み
ubuntuでバックアップデータをメールに添付して送りたい
バックアップしたデータをtar.gz形式にしたものを、メールに添付して外部へ送りたいと考えているのですが、うまくいきません。 コマンドラインより /usr/bin/uuencode /var/www/backup/data.tar.gz sdata.tar.gz | mail -s 'backup' test@test.co.jp のような形で実行すると、エラーメッセージもでないのですが、メールも届きません。 そもそも、メールが届く環境を構築できているのかすらわからなくなってきてしまいました。 コマンドラインよりどのようなコマンドを打てば確認できますか? 初歩的な質問ですみません。
- hatajiku
- お礼率0% (0/3)
- その他(ITシステム運用・管理)
- 回答数3
- ありがとう数2
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Gizensha
- ベストアンサー率34% (207/608)
>Ctrl+Dで入力を終了してシェルに戻ることはできます。 これでメールが送信されているはずです。 送信されないなら、メール環境がうまく構築できていないかと。 ログファイルを読みながら原因を探していきましょう。
- Gizensha
- ベストアンサー率34% (207/608)
補足への返信 固まった状態では文字入力もできませんか? Ctrl+Dで入力を終了してシェルに戻れるかと思います。
- Gizensha
- ベストアンサー率34% (207/608)
まずはmailコマンド単独でメール送信ができているかの確認でしょうか。 送信に失敗した場合、/var/log以下のファイル(mail.infoやmail.errなど)でエラー内容を確認してください。 添付については確認していません。あしからず。
補足
mail.errとmail.infoに同様の下記のメッセージがありました postfix/sendmail[21152]: fatal: /etc/mailname: cannot open file: No such file or directory コマンドラインより mail test@test.co.jp (Enter) ↓ cc: (Enter) ↓ Subject:test (Enter) このまま固まります。
関連するQ&A
- cronからtarで圧縮しようとすると、途中で終わってしまいます
サーバーはCentOS 5.3です。 以下はroot権限での話です。 コマンドラインで /bin/tar cvzf /home/myhome/backup/var_backup.tar.gz /var と打ち、実行すると正しく圧縮されたファイルが出来上がります。 解凍してみても問題ありません。 大きさは700MBくらいになります。 ところが同じコマンドをCronにセットして実行すると、ファイルはできるのですが 254K というとても小さなファイルが出来上がって終わってしまいます。 解凍してみるととても中途半端なところで圧縮が終わっているみたいです。 5 0 * * * /bin/tar cvzf /home/myhome/backup/var_backup.tar.gz /var のように書いています。 rootのcrontabなので権限の問題ということも無いと思うのですが。 別のディレクトリでも試してみたのですが同じ結果でした。 別のサーバーで同じくCentOS5.3を使っていて、同じことをやっているのですが そちらはうまく行っているのです。 どなたか解決策などご存知でしたら教えてください。 同じような質問が過去にもあったようなのですが、未解決で終わっていました。
- ベストアンサー
- その他(ITシステム運用・管理)
- 3日以前のバックアップを削除する
/etc/crontabで以下のbackup.shを毎晩実行するのですが、 3日以前のものは毎回消していく場合は以下のような、 少し初心者的な書き方しか現在分からないのですが、 他にもし良い書き方があれば、教えていただけますでしょうか? よろしくお願いします。 #!/bin/sh DATE_1=`date -d '1 day ago' +%Y%m%d` DATE_2=`date -d '2 days ago' +%Y%m%d` DATE_3=`date -d '3 days ago' +%Y%m%d` if [ test_$DATE_2.tar.gz ]; then mv -f test_$DATE_2.tar.gz test_$DATE_3.tar.gz fi rm -f test_$DATE_3.tar.gz if [ test_$DATE_1.tar.gz ]; then mv -f test_$DATE_1.tar.gz test_$DATE_2.tar.gz fi if [ test.tar.gz ]; then mv -f test.tar.gz test_$DATE_1.tar.gz fi tar zcvf test.tar.gz /usr/local/test
- ベストアンサー
- Linux系OS
- メールのバックアップ方法
RedHatLinux9でmail&webサーバーを構築してます。 毎日、午前3時に /var/spool/mailと/var/www/htmlをテープにバックアップしてるんですが どうやらその時にメールの送受信をしているとバックアップに失敗しているようでした。 今までは backup.shというのを作りcronに登録してます。 記述内容は tar cvf /dev/st0 /var/spool/mail /var/www/html です。 で、失敗したのでそれならと、まず/var/spool/mailを/root/backupにコピーしてからバックアップしようと mkdir backup cp -f /var/spool/mail /root/backup tar cvf /dev/st0 /var/spool/mail /var/www/html /root/backup としました。 でもこれでもうまくいかなかったようです。 エラーログは以下のようになっています。 mkdir: cannot create directory `/root/backup': File exists cp: omitting directory `/var/spool/mail' tar: /dev/st0: Cannot open: No such device tar: Error is not recoverable: exiting now 一度失敗してから テープの調子も悪くなってきているようです。
- ベストアンサー
- Linux系OS
- 常時書き込みされているファイルをtarでバックアップしたい
Solaris9で/var配下を定期的にバックアップしたいと考え、 cronにて以下のようなコマンドを含むスクリプトを実行しています。 /usr/bin/tar cEfiX /backup/var_backup_`date '+%w'`.tar ${EXFILE} -C / ./var しかし、/var配下に常時書き込みされているログファイルがあり、 tarがreturncode=1で終了してしまいます。 その際のエラー出力は以下で、 tar: ./var/hogehoge.log: file changed size tarファイルに加える前と後で./var/hogehoge.logのファイルサイズが違っている という内容だと認識しています。 ※このファイルはバックアップの必要があるファイルでexcludeリストに加えるわけにもいきません。 tarコマンドの後に if [ $? != 0 ] という条件式を置いてエラーを検知しています。 何とかこのエラーだけを無視する妙案はありませんでしょうか?
- ベストアンサー
- Solaris系OS
- 既存のバックアップを前日の日付にリネーム
Linuxのシェルの書き方初心者です。 教えてください。 前日バックアップしたファイルはリネームし、過去2日分バックアップとして保存しておくようにしていくにはどのようにしたらいいでしょうか? 以下のものに簡単に追記できるような書き方があれば教えてください。 よろしくお願いします。 #!/bin/sh cd /home/backup tar zcvf sample.tar.gz /var/www/sample
- ベストアンサー
- Linux系OS
- Linuxでバックアップのために別のハードにファイルを転送したいです。
Linuxでバックアップのために別のハードにファイルを転送したいです。 とても困っています。どうか力を貸してください。よろしくお願いします。 下のソースを毎日実行するようにクーロンで設定しています。 下記でコメントアウトしている##ファイル転送##の処理以外は成功しています。 バックアップ用の圧縮ファイル作成と古いファイルの削除が成功しています。しかし、 同じハード内にあるのでハード自体が潰れた場合に備えて別のハードに転送したいです。 Linux初心者で調べながら作成しています。 他に必要な情報があれば教えて下さい。よろしくお願いします。 ----(↓↓↓ソースです↓↓↓)---------------------------------------- #!/bin/sh if [ -x /usr/local/pgsql/bin/pg_dump ]; then today=`date +%y%m%d` filenm="/home/backup/postgres/$1" su postgres -c "/usr/local/pgsql/bin/pg_dump $1 > $filenm$today" tar zcvf $filenm$today.tar.gz $filenm$today chown backup $filenm$today.tar.gz chgrp backup $filenm$today.tar.gz chmod 640 $filenm$today.tar.gz rm -f $filenm$today # remove old backup file oldday=`date --date '1 weeks ago' '+%y%m%d'` rm -f $filenm$oldday.tar.gz ##ファイル転送## # USERNAME='system\\backup' # PASSWORD=●●●●●●●●●●● # HOSTNAME=192.168.●●.●● #ftp -n <<EOL #open ${HOSTNAME} #user ${USERNAME} ${PASSWORD} #binary #cd backup #put $filenm$today.tar.gz #bye #EOL fi exit 0 ----(↑↑↑ソースです↑↑↑)----------------------------------------
- 締切済み
- Linux系OS
- 差分バックアップのコマンド
今使用しているサーバのバックアップに 毎日フルバックアップで二時間もかかるんで 差分バックアップに変えようかなーとか 思ってるんですが、下のコマンドってあってます? time find /home/data -mtime -1 ! -type d -print | tar cfz /home/backup/test/backupdata-`date +%Y%m%d`.tar.gz ちなみに当日変更・新規作成したものだけバックアップしたいです。 dumpとかがいいんでしょうけど、できればtarでやりたいんです。 教えてくださいお願いします。
- 締切済み
- その他(ITシステム運用・管理)
- /usr/lib及び/libのリストアが失敗します
tarコマンドにてディレクトリのバックアップ及びリストアを実施しています。 対象ディレクトリは以下です。 /bin,/sbin,/opt,/home,/etc,/var,/usr,/lib バックアップは下記コマンドにて問題なく実施できました。 (例として「/bin」の場合とします) # tar cvf /var/tmp/bin.tar ./bin 下記手順でリストアを実施しています。 # tar xvf /var/tmp/bin.tar # cd /var/tmp # /bin/cp -rpf bin/ / /usr及び/libのりストアを実施すると、急に画面が落ちてしまい 起動すら出来なくなってしまいます。 シングルユーザモードでなんとか見れるくらいです。 /usr以下のどのディレクトリが怪しいのか一つずつ調べた結果、 /usr/libが原因でした。 ライブラリ関連はリストアしたらいけないのでしょうか。 パッケージのリストアもしたいので、/usr/lib以下のリストアも必須なのですが・ ・・。 環境はRHEL5です。 よろしくお願い致します。
- ベストアンサー
- Linux系OS
- tar zcf で Argument list too long のエラーが出る
aaa下の中身を圧縮して test.tar.gz を作り、これを bbb下に移動させるのを 以下のようにshで行っています。 #!/bin/bash cd /aaa tar zcf test.tar.gz * mv test.tar.gz /bbb これを、なにか圧縮コマンドのオプションを使って 圧縮元と圧縮ファイル作成先を指定して、1行で済ますことは出来ますか? tar zcf /bbb/test.tar.gz /aaa/* を試してみましたが、 -bash: /bin/tar: Argument list too long と出てしまいます。ご教授宜しく御願いいたします。
- 締切済み
- Linux系OS
補足
Ctrl+Dで入力を終了してシェルに戻ることはできます。