1.mkdir /エクスポート/データ/ログ
2.vi uploadHDFS.sh
1 #!/ binに/ bashの 2 3 4 5 #配置环境变量 6 7輸出JAVA_HOME = /エクスポート/サーバ/ JDK 8エクスポートJRE_HOME = $ {JAVA_HOME} / JRE 9エクスポートCLASSPATH = .: $ {JAVA_HOME} / LIB:$ {JRE_HOME} / LIB 10エクスポートPATH = $ {JAVA_HOME} / binに:$ PATH 11 12エクスポートHADOOP_HOME = /エクスポート/サーバ/ Hadoopの 13エクスポートPATH = $ {HADOOP_HOME} / binに:$ {HADOOP_HOME} / sbinに:$ PATH 14 15 16 #ログファイル格納ディレクトリ 17 log_src_dir = /エクスポート/データ/ログ/ログ/ 18である 。19 #ディレクトリは、ファイルストレージにアップロードする 20である log_toupload_dir = /エクスポート/データ/ログ/ toupload / 21で 22である #セット日付 23は日付1 = `最後の日+ -d-DATE Y _ %%% m_LowはD ' 24個の 25 #HDFSのルートパスにアップロードされたログファイル 26をされ hdfs_root_dir = /データ/ clickLog / $日付1 / 27 28 29 30 #印刷環境変数情報 31があるエコー」ENVS: HADOOP_HOME:$ HADOOP_HOMEは" 32 33 #のカタログは、ファイルをアップロードするかどうかを判断するためにログファイルを読み込み、 34れるエコー" log_src_dir:" $ log_src_dir 35の 36 LS log_src_dirを$ | ながら読むfileNameに 37 行う 38は、 IF [[ " $ fileNameに" == *のaccess.log。]];次に 39日付= `%+%Y_%m_Low D_ H_%のM _ %% S ' 40の #はディレクトリにアップロードするファイルを移動し、名前の変更 41エコーを" $ log_toupload_dirに$ log_src_dir $ fileNameに移動" xxxxx_click_log_ $ fileNameに" $ DATE " 42 MV $ log_src_dir $ fileNameに | しばらく読み取りライン 50 行う 51 52 #印刷情報 53エコー「touploadは、ファイル内にある:」$ラインは 54 位ファイルリストwillDoing名前を変更したwillDoing_COPY_アップロードされます 55のmv $ log_toupload_dir $ライン $ log_toupload_dir $ライン「_COPY_ 」 56 #はファイルのリストの内容を読むことをwillDoing_COPY_ (アップロードするファイルの名前) 57 #のパスラインは、ここでアップロードするファイルのリストである 58 CATの$ラインlog_toupload_dir $ 「_COPY_を」 | ながら読むライン 59は 行う 60 #の印刷情報 61エコーを" puting ... HDFSパスに$ラインを..... $ hdfs_root_dir " 62 HadoopのFS -mkdir -p $ hdfs_root_dir 63のHadoop FS -put $行 $ hdfs_root_dir 64 行なわ 65のmv $ log_toupload_dir $ライン" _COPY_ " $ log_toupload_dir $ライン「_DONE_ 」 66行って
3.mkdir /エクスポート/データ/ログ/ログ/
4.viのaccess.log access.log.1 access.log.2
5.sh uploadHDFS.sh