linuxマシン(ローカル)から、xrea上のサーバーにあるファイルを、毎日自動的にバックアップ用にダウンロードしようと思っています。


シェルスクリプトを書いていますが、うまく動きません。

・ローカルマシンはCentOS5.1
・バックアップするファイルは「/virtual/xxx/backup/data.tar.zip」
・毎日1回、クライアントマシンへ同ファイルを上書きダウンロード保存

を実現したいと思っています。

ftpコマンドでのダウンロードがうまくできません。

参考になるサイトや、シェルスクリプトを書いて頂けると助かります。
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2009/06/11 17:53:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント35pt

こんなシェルでダウンロードできると思います。⇒(参考)FTPコマンドでファイル転送

#!/bin/csh -f
#"@(#)ftp_all.sh 1995/07/01 Copyright(C)1995 ASH"
#
# name: ftp all files
#

ftp -n サーバのIPアドレス << _EOD
user ユーザー名 パスワード
passive
binary
cd /backup
get data.tar.zip
bye
_EOD
id:onigirin

どうもありがとうございます。

ftpで無事完了しました。

2009/06/11 17:51:36

その他の回答1件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633ここでベストアンサー

ポイント35pt

こんなシェルでダウンロードできると思います。⇒(参考)FTPコマンドでファイル転送

#!/bin/csh -f
#"@(#)ftp_all.sh 1995/07/01 Copyright(C)1995 ASH"
#
# name: ftp all files
#

ftp -n サーバのIPアドレス << _EOD
user ユーザー名 パスワード
passive
binary
cd /backup
get data.tar.zip
bye
_EOD
id:onigirin

どうもありがとうございます。

ftpで無事完了しました。

2009/06/11 17:51:36
id:znz No.2

回答回数193ベストアンサー獲得回数25

ポイント35pt

ftp コマンドよりも wget を使った方が楽だと思います。

wget --passive-ftp -N ftp://ユーザ名:パスワード@s数字.xrea.com//virtual/xxx/backup/data.tar.zip

のように出来ます。(ユーザ名やパスワードに記号が入る場合はURLエンコードしてください。)

パスワードをコマンドラインに書くと同じマシンにログインできる他のユーザから見えてしまうという問題があるので、それが嫌なら

自分しか読み書きできないパーミッションで ~/.netrc に

machine s数字.xrea.com

login ユーザ名

password パスワード

という内容のファイルを用意して

wget --passive-ftp -N ftp://s数字.xrea.com//virtual/xxx/backup/data.tar.zip

でも出来ます。

id:onigirin

どうもありがとうございます。

.netrcがうまく認識されませんでしたが、ftpで無事完了しました。

2009/06/11 17:51:54
  • id:b-wind
    エラー内容ぐらいは書かないとどこでつまづいているのやら。
    http://troubleshooter.xrea.org/ftp.html#003
    ホスト登録とかは済んでいますか?
  • id:onigirin
    どうもありがとうございます。
    KERBEROS_V4 rejected as an authentication type
    と出るため、エラーでうまくできていないと思っていましたが、
    ダウンロード自体は完了していたことに気づき、解決しました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません