source: nutchez-0.2/src/test/master_remove.sh @ 206

Last change on this file since 206 was 206, checked in by shunfa, 14 years ago
  1. master中文版安裝流程已測試
  2. master移除程式已測試
File size: 3.1 KB
Line 
1#!/bin/bash
2# Program:
3#   remove shell script for master uninstall
4# Author:
5#   Waue, Shunfa, Rock {waue, shunfa, rock}@nchc.org.tw
6# Version:
7#    1.0
8# History:
9#   
10
11source ./lang_zh_TW_master_remove
12
13##########  echo function  ##########
14function debug_info () {
15  if [ $? -eq 0 ]; then
16    echo -e "\033[1;35;40m info - $1 \033[0m"
17  fi
18}
19
20
21function show_info () {
22  if [ $? -eq 0 ]; then
23    echo -e "\033[1;32;40m $1 \033[0m"
24  fi
25}
26##########end echo function ##########
27
28nutch_PATH=/home/nutchuser/nutchez/system
29
30
31# check root
32function check_root(){
33  debug_info "check_root"
34  if [ $USER != "root" ]; then
35    show_info "$check_root_1" # "請切換成 root 身份執行移除程式!!!"
36    exit
37  fi
38  show_info "$check_root_2" # "已確認為root身份, 將繼續執行此移除程式!"
39}
40
41# shutdown service
42function shutdown_service () {
43  show_info "$shutdown_service_echo_1" # "停止其他尚未關閉的slaves服務..."
44  slaves_list=`cat $nutch_PATH'/nutch_nodes' | cut -d' ' -f1`
45  for nutch_node in $slaves_list
46  do
47    su nutchuser -c "ssh nutchuser@$nutch_node /opt/nutchez/nutch/bin/hadoop-daemon.sh stop datanode"
48    su nutchuser -c "ssh nutchuser@$nutch_node /opt/nutchez/nutch/bin/hadoop-daemon.sh stop tasktracker"
49  done
50  show_info "$shutdown_service_echo_2" # "關閉本機服務..."
51  su nutchuser -c "/opt/nutchez/nutch/bin/stop-all.sh"
52  su nutchuser -c "/opt/nutchez/tomcat/bin/shutdown.sh"
53  show_info "$shutdown_service_echo_3" # "本機服務已關閉"
54}
55
56# 移除檔案及資料夾
57function remove_folders () {
58  show_info "$remove_folders_echo_1" # "正在刪除安裝時所建立的檔案及資料夾..."
59  rm -rf /opt/nutchez
60  rm -rf /var/nutchez
61  show_info "$remove_folders_echo_2" # "安裝時所建立的檔案及資料夾已刪除"
62}
63
64
65# 還原/etc/hosts
66function edit_hosts () {
67  show_info "$edit_hosts_echo_1" # "修改/etc/hosts..."
68  slaves_list=`cat $nutch_PATH'/nutch_nodes' | cut -d' ' -f1`
69  for nutch_node in $slaves_list
70  do
71    Line_NO=`cat /etc/hosts | grep -n $nutch_node | sed 's/:.*//g'`
72    if [[ $Line_NO -ge 1 ]]; then
73      sed -i ''$Line_NO'd' /etc/hosts
74    fi
75  done
76  show_info "$edit_hosts_echo_2" # "完成修改/etc/hosts"
77}
78
79# 移除使用者
80function user_delete () {
81  show_info "$user_delete_echo_1" # "正在刪除nutchuser使用者..."
82  userdel -r nutchuser
83  show_info "$user_delete_echo_2" # "使用者nutchuser已刪除"
84}
85
86# Main function
87function main () {
88  show_info "$main_echo_1" #"警告 - 此一程式為移除nutchEZ程式, 若您為誤執行此一程式, 請按Ctrl+c離開此程序!"
89  show_info "$main_echo_2" #"本執行程序將會移除安裝nutchEZ時所新增的檔案及nutchuser使用者帳號"
90# 詢問是否繼續
91  read -p "$main_echo_3" confirm # "請問是否確定移除此一節點:1.確定 2.取消"
92# 確認移除
93  if [ $confirm -eq 1 ]; then
94    check_root
95    shutdown_service
96    remove_folders
97    edit_hosts
98    user_delete
99    show_info "$main_echo_4" # "移除程序已完成!"
100  elif [ $confirm -eq 2 ]; then
101    show_info "$main_echo_5" # "您已取消移除程序!"
102    show_info "$main_echo_6" # "若要移除請再重新執行!"
103  fi
104}
105
106main
107
Note: See TracBrowser for help on using the repository browser.