uninstall.sh 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #!/bin/bash
  2. # Author: yeho <lj2007331 AT gmail.com>
  3. # BLOG: https://blog.linuxeye.com
  4. #
  5. # Version: 1.0-Alpha Jun 15,2015 lj2007331 AT gmail.com
  6. # Notes: OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+
  7. #
  8. # Project home page:
  9. # http://oneinstack.com
  10. # Check if user is root
  11. [ $(id -u) != "0" ] && { echo -e "\033[31mError: You must be root to run this script\033[0m"; exit 1; }
  12. export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  13. clear
  14. printf "
  15. #######################################################################
  16. # OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+ #
  17. # Uninstall OneinStack #
  18. # For more information please visit http://oneinstack.com #
  19. #######################################################################
  20. "
  21. . ./options.conf
  22. Uninstall()
  23. {
  24. [ -e "$db_install_dir" ] && service mysqld stop && rm -rf /etc/init.d/mysqld /etc/my.cnf
  25. [ -e "$apache_install_dir" ] && service httpd stop && rm -rf /etc/init.d/httpd
  26. [ -e "$tomcat_install_dir" ] && service tomcat stop && rm -rf /etc/init.d/tomcat
  27. [ -e "$php_install_dir" ] && service php-fpm stop && rm -rf /etc/init.d/php-fpm
  28. [ -e "$web_install_dir" ] && service nginx stop && rm -rf /etc/init.d/nginx /etc/logrotate.d/nginx
  29. [ -e "$pureftpd_install_dir" ] && service pureftpd stop && rm -rf /etc/init.d/pureftpd
  30. [ -e "$redis_install_dir" ] && service redis-server stop && rm -rf /etc/init.d/redis-server
  31. [ -e "$memcached_install_dir" ] && service memcached stop && rm -rf /etc/init.d/memcached
  32. [ -e "/usr/local/imagemagick" ] && rm -rf /usr/local/imagemagick
  33. [ -e "/usr/local/graphicsmagick" ] && rm -rf /usr/local/graphicsmagick
  34. [ -e "/etc/init.d/supervisord" ] && service supervisord stop && { rm -rf /etc/supervisord.conf; /etc/init.d/supervisord; }
  35. [ -e "/etc/systemd/system/hhvm.service" ] && service hhvm stop && { rpm -e hhvm ;rm -rf /etc/systemd/system/hhvm.service /etc/hhvm /var/log/hhvm; }
  36. [ -e "/etc/init.d/hhvm" ] && service hhvm stop && { rpm -e hhvm ;rm -rf /etc/init.d/hhvm /etc/hhvm /var/log/hhvm; }
  37. id -u $run_user >/dev/null 2>&1 ; [ $? -eq 0 ] && userdel $run_user
  38. id -u mysql >/dev/null 2>&1 ; [ $? -eq 0 ] && userdel mysql
  39. /bin/mv ${home_dir}{,_$(date +%F)}
  40. /bin/mv ${db_data_dir}{,_$(date +%F)}
  41. for D in `cat ./options.conf | grep dir= | grep -v oneinstack | awk -F'=' '{print $2}' | sort | uniq`
  42. do
  43. [ -e "$D" ] && rm -rf $D
  44. done
  45. sed -i 's@^oneinstack_dir=.*@oneinstack_dir=@' ./options.conf
  46. sed -i 's@^web_install_dir=.*@web_install_dir=@' ./options.conf
  47. sed -i 's@^db_install_dir=.*@db_install_dir=@' ./options.conf
  48. sed -i 's@^db_data_dir=.*@db_data_dir=@' ./options.conf
  49. sed -i 's@^dbrootpwd=.*@dbrootpwd=@' ./options.conf
  50. sed -i 's@^ftpmanagerpwd=.*@ftpmanagerpwd=@' ./options.conf
  51. sed -i 's@^conn_ftpusers_dbpwd=.*@conn_ftpusers_dbpwd=@' ./options.conf
  52. sed -i "s@^export.*$db_install_dir.*@@g" /etc/profile && . /etc/profile
  53. echo -e "\033[32mUninstall completed.\033[0m"
  54. }
  55. get_char()
  56. {
  57. SAVEDSTTY=`stty -g`
  58. stty -echo
  59. stty cbreak
  60. dd if=/dev/tty bs=1 count=1 2> /dev/null
  61. stty -raw
  62. stty echo
  63. stty $SAVEDSTTY
  64. }
  65. echo
  66. echo -e "\033[31mYou will uninstall OneinStack, Please backup your configure files and DB data! \033[0m"
  67. echo
  68. echo -e "\033[33mThe following directory or files will be remove: \033[0m"
  69. for D in `cat ./options.conf | grep dir= | grep -v oneinstack | awk -F'=' '{print $2}' | sort | uniq`
  70. do
  71. [ -e "$D" ] && echo $D
  72. done
  73. [ -e "$web_install_dir" ] && echo -e "/etc/init.d/nginx\n/etc/logrotate.d/nginx"
  74. [ -e "$apache_install_dir" ] && echo '/etc/init.d/httpd'
  75. [ -e "$tomcat_install_dir" ] && echo '/etc/init.d/tomcat'
  76. [ -e "$db_install_dir" ] && echo -e "/etc/init.d/mysqld\n/etc/my.cnf"
  77. [ -e "$php_install_dir" ] && echo '/etc/init.d/php-fpm'
  78. [ -e "$pureftpd_install_dir" ] && echo '/etc/init.d/pureftpd'
  79. [ -e "$memcached_install_dir" ] && echo '/etc/init.d/memcached'
  80. [ -e "$redis_install_dir" ] && echo '/etc/init.d/redis-server'
  81. [ -e "/usr/local/imagemagick" ] && echo '/usr/local/imagemagick'
  82. [ -e "/usr/local/graphicsmagick" ] && echo '/usr/local/graphicsmagick'
  83. echo
  84. echo "Press Ctrl+c to cancel or Press any key to continue..."
  85. char=`get_char`
  86. while :
  87. do
  88. echo
  89. read -p "Do you want to uninstall OneinStack? [y/n]: " uninstall_yn
  90. if [ "$uninstall_yn" != 'y' -a "$uninstall_yn" != 'n' ];then
  91. echo -e "\033[31minput error! Please only input 'y' or 'n'\033[0m"
  92. else
  93. break
  94. fi
  95. done
  96. [ "$uninstall_yn" == 'y' ] && Uninstall