1.mkdir / 내보내기 / 데이터 / 로그
2.vi uploadHDFS.sh
1 # ! / 빈 / 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} / 빈 : $ PATH (11) (12) 수출 HADOOP_HOME = / 수출 / 서버 / 하둡 (13) 수출 PATH = $ {HADOOP_HOME} / 빈 : $ {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 DATE 날짜 = '% + % Y_ % m_Low D_ H_의 %의 M은 _ %% S ' 40 #은 디렉토리에 업로드 할 파일을 이동 바꾸 41 에코 " $ log_toupload_dir에 $ log_src_dir $ 파일명 이동 " 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) 에코" 퍼 팅 ... HDFS 경로 $ 선 ..... $ hdfs_root_dir는 " 62 하둡 FS -mkdir -p $ hdfs_root_dir 63 하둡 FS 저것 집어 넣어 $ 라인 $ 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