2016-07-05 12 views
1

私はあなたのご質問にお悔やみをおかけして申し訳ありませんが、私は専門家のご意見をいただきたいという2つの質問があります。Bsshは2台のLinuxサーバ間のファイル転送を自動化

質問:1

我々は着信ユーザからのファイルと私たちは私が知りたいのですが、それには、これらのファイルを保存し、別のサーバーを受信した2台のLinuxベースのサーバーがファイル転送を自動化する方法があるが、私を聞かせてここに自分自身を説明してください。

ユーザーがファイルをアップロードするとすぐにファイルをGoogleのアセットサーバーに転送することが可能かどうかを知りたいのですが、その後、サーバーから削除する必要があります。

私はLinuxの世界で初めてですが、プログラミングの背景を持っていますが、bashについて考えていましたが、どうやってそれをどうやって進めるのか分かりませんでした。

質問2:

はそれがオンラインサーバーからのファイルのインストールを自動化するためにはbashを作成することが可能です。

ご協力いただきありがとうございます。

+1

こんにちは@semgmpさん、ようこそ。ここで質問をする前に、最低限の仕事をすることが期待されます。 http://www.mpipks-dresden.mpg.de/~mueller/docs/suse10.2/html/opensuse-manual_en/manual/sec.filetrans.copy.htmlを参照してください。これを実行できたら、次のことができます。全体のプロセスを自動化http://ubuntuforums.org/showthread.php?t=233564 –

答えて

0

両方の質問の古典的な解決策は、bashスクリプトとcrontabです。 bashスクリプトはファイル転送を自動化し、crontabはあなたが好きなときにそれをスケジュールにします。 cronジョブを設定するために

#!/bin/bash 
scp -r /path/to/upload_files [email protected]_IP:/path/to/upload/files 

:必要なユーザーの実行に

  1. スイッチ:crontab -e
+0

こんにちは、私はそれについていくつかの研究をしていますが、あなたが助けることができるスクリプトの例を投稿できる場合は – Semgmp

+0

私は私の答えを編集 – Asfbar

1

私は一般的な答えを与えるだろう。

アップロード時にスクリプトを起動することができます。何らかの理由でそれが不可能な場合は、notifyのAPIを使用して、watchにディレクトリを使用できます。

これが完了したら、ファイルを転送する必要があります。繰り返しますが、複数の方法がありますが、いくつかの可能性はscp,sftp、またはHTTP POST(多分curlを使用)です。 scp/sftpを使用する場合は、パスワードではなくキーベースの認証を使用する必要があります。それがなかった場合は、おそらくあなたが誰かに文句を言うおよび/またはにmvコマンドを使用するmailコマンドを使用することができ、(ファイルを削除したい、成功し働い

場合は、(と私は推測する場合にのみ)問題ファイルを別のディレクトリに移動します)。

あなたはこの一部を自動化するためにはbashを使用したい場合は、次のbashの機能のいくつかを見なければならない:上記のコマンドが成功した場合

  • &&は、次のコマンドを実行します(終了で返さコード0)
  • ||上記のコマンドが失敗した場合は、次のコマンドを実行します(終了コード!= 0)
  • if then fi
  • while do done

最後に、私のシステム上で、次のコマンドを実行すると、あなたに見たいと思うかもしれませんいくつかのツールを示しています。

apt-cache search inotify 
- 
incron - cron-like daemon which handles filesystem events 

inosync - notification-based directory synchronization daemon 

inoticoming - trigger actions when files hit an incoming directory 

inotify-hookable - blocking command-line interface to inotify 

inotify-tools - command-line programs providing a simple interface to inotify 

gamin - File and directory monitoring system 

clsync - live sync tool based on inotify, written in GNU C 

entr - Run arbitrary commands when files change 

lsyncd - daemon to synchronize local directories using rsync 

iwatch - realtime filesystem monitoring program using inotify 

を...それらのかもしれないの1あなたが必要とするすべてのものを箱から出してください。

+0

こんにちは、この回答は非常にありがたく、私が従うかもしれないスクリプトの例を投稿することが可能です。 – Semgmp

関連する問題