Advertisement
Guest User

Igor Brando

a guest
Aug 14th, 2009
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 19.13 KB | None | 0 0
  1. #!/bin/bash
  2. #----------------------------------
  3. #Curitiba 05/03/2008              |
  4. #Nome: uxbkp (Unix Like Backup)   |
  5. #Por: Igor Scarinci Brandao       |  
  6. #e-mail: igorsca@gmail.com        |
  7. #----------------------------------
  8.  
  9.  
  10.  
  11.  
  12. ########################################
  13. # Modifique as variaveis locais abaixo #
  14. # de acordo com sua necessidade.       #
  15. ########################################
  16.  
  17. #/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
  18. ####--/Incio das Variaveis Locais\--####
  19.  
  20. SRCR="/boot /usr /root /etc /var /tmp/sysb"
  21. DRIVE="/dev/hda"
  22.  
  23. ####--/Fim das Variaveis Locais\--####
  24. #/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
  25.  
  26.  
  27.  
  28.  
  29.  
  30. #########################################
  31. # Nao altere as variaveis Globais       #
  32. # a menos que saiba oque esta fazendo.  #
  33. # Modificar as variaveis globais pode   #
  34. # danificar o funcionamento do script . #
  35. #########################################
  36. ####--/Incio das Variaveis Globais\--####
  37. ##STRBKP##
  38. MODIFY=10/09/2008
  39. VER=1.3
  40. NAME=`uname -n`
  41. DATE=`date +%d%m%y`
  42. TMP=/tmp
  43. UX=uxbkp
  44. UXISO="$TMP"/uxiso
  45. SYSB="$TMP"/sysb
  46. UXB="$TMP"/"$UX"
  47. UXT="$NAME"-"$DATE".tar
  48. UXZ="$NAME"-"$DATE".tar.gz
  49. UXJ="$NAME"-"$DATE".tar.bz2
  50. UX7="$NAME"-"$DATE".7z
  51. SF="$UXB"/ftree
  52. SD="$UXB"/dtree
  53. UXRW="/tmp/UXRW"
  54. MKISO="/usr/bin/mkisofs"
  55. GROW="/usr/bin/growisofs"
  56. CDR="/usr/bin/cdrecord"
  57. RW="/usr/bin/dvd+rw-format"
  58. ERRO=
  59. ####--/Fim das Variaveis Globais\--####
  60.  
  61. ###--/Inicio das Variaveis SGI\--###
  62. DSGI="/sgi"
  63. RUNER=`ps aux|fgrep dfrun|fgrep -v "fgrep"|wc -l`
  64. SHORA=`date +%I`
  65. PDADOS="/sgi/pgdados"
  66. BSGI=sgi-"$DATE".tar.bz2
  67. SSGI=
  68. ####--/Fim das Variaveis SGI\--####
  69.  
  70. ####--/Inicio das Funcoes\--####
  71.  
  72. me-ver()
  73. {
  74. clear
  75. echo -e "\033[1;36;40m
  76. Nome: uxbkp (Unix Like Backup) \033[32;40mVersao "$VER" \033[31;40mUltima Alteracao em "$MODIFY"\033[1;34;40m
  77. --------------------------------------------------------------------------------------
  78. - O \""$UX"\" foi desenvolvido para automatizar o backup de sistemas \"x\" como o        -
  79. -  caso do nosso querido GNU/Linux.                                                  -
  80. -                                                                                    -
  81. - O backup a principio é realizado com base em uma string \"##STRBKP##\" que deve      -
  82. - ser inserida em cada arquivo moficado, por voce e de seu interesse em salva-lo.    -
  83. -                                                                                    -
  84. - Voce poderá fazer backups recursivos em um diretório, criando um arquivo vazio     -
  85. - dentro do diretório desejado com o nome de \"STRBKP\" (use o comando \"touch STRBKP\"  -
  86. - por exemplo). Voce pode tambem especificar diretórios manualmente usando o comando -
  87. - da seguinte forma: \"uxbkp -m /tmp /home/user /usr/local etc...\"                    -
  88. -                                                                                    -
  89. -  Uma documentacao mais completa ainda esta sendo desenvolvida.                     -
  90. -                                                                                    -
  91. - Para comecar a usar o "$UX" modifique as variaveis Locais de acordo                -
  92. - com suas necessidades.                                                             -
  93. -                                                                                    -
  94. - Por exemplo: mude a variavel \"SRCR\" colocando nela os locais onde o "$UX"          -
  95. - deve procurar por arquivos, se preferir pode colocar nessa variavel                -
  96. - apenas uma \"/\" para que o script procure em todo o sistema.                        -
  97. - A segunda variável é referente a unidade de gravacao CD/DVD que o script irá usar  -
  98. - para gravar os dados.                                                              -
  99. -                                                                                    -
  100. - Eu ainda nao implementei aqui rotinas de backup em fitas DDS, mas assim que eu     -
  101. - arrumar uma unidade de fita para testes estarei adcionando as rotinas para uma     -
  102. - nova versão. Se quiser me doar uma unidade de fita, eu aceito de bom grado.        -
  103. - Aproveite o programa e sempre faça backup's... ; )                                 -
  104. --------------------------------------------------------------------------------------\033[0m
  105. "
  106. echo -e "\033[1;31;40m
  107. Dependecias:            Opcionais:\033[0m
  108. \033[1;32;40m*\033[0m \033[36;40mtree               \033[1;32;40m*\033[0m \033[36;40mcdrecord\033[0m        \033[0m\033[36;44m+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\033[0m
  109. \033[1;32;40m*\033[0m \033[36;40mtar                \033[1;32;40m*\033[0m \033[36;40mmkisofs\033[0m         \033[0m\033[36;44m+ Por: Igor Scarinci Brandao  +\033[0m   
  110. \033[1;32;40m*\033[0m \033[36;40mgzip               \033[1;32;40m*\033[0m \033[36;40mgrowisofs\033[0m       \033[36;44m+ e-mail: igorsca@gmail.com   +\033[0m  
  111. \033[1;32;40m*\033[0m \033[36;40mbzip2              \033[1;32;40m*\033[0m \033[36;40m7zip\033[0m            \033[36;44m+                   Ass: ISB  +\033[0m
  112.                             \033[36;44m+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\033[0m
  113. "
  114. }
  115.  
  116. testree()
  117. {
  118. if `tree 1>/dev/null 2>/dev/null`
  119. then
  120.     :
  121. else
  122.     echo -e "\033[31;40mo comando tree nao foi encontrado, instale ele primeiro\033[0m"
  123. fi
  124. }
  125.  
  126. mesg_uxb () {
  127. shift
  128. if [ ! -d "$UXB" ]
  129. then
  130.     echo "The "$UXB" not exist."
  131.     echo -e "Type \033[32;40m"$0" -m \033[0mto create de "$UXB""  
  132.     ERRO=1
  133.     exit 1
  134. fi
  135. }
  136.  
  137. search()
  138. {
  139. for SRCF in `find $SRCR -type f|xargs fgrep -l "#STRBKP#" 2>/dev/null`
  140. do
  141.     echo "$SRCF" >> "$SF"
  142. done
  143. for SRCF2 in `find $SRCR -type f -name STRBKP 2>/dev/null`
  144. do
  145.     echo "$SRCF2" >> "$SF"
  146. done
  147. }
  148.  
  149. erro2()
  150. {
  151. ERRO=2
  152. echo -e "\033[1;31;40mVc deve popular "$UX" primeiro!
  153. Tente\033[36;40m "$0" -mcpz \033[1;31;40mpor exemplo, para fazer tudo de uma vez só...\033[0m"
  154. exit 2
  155. }
  156.  
  157. err7()
  158. {
  159. ERRO=3
  160. echo -e "\033[1;33;40mOps!!! Essa funcao depende do 7zip.
  161. Verifique se ele esta corretamente instalado no sistema ou se seu caminho esta devidademente apontado no PATH.\033[0m"
  162. exit 3
  163. }
  164.  
  165. del_compress()
  166. {
  167. if [ -d "$UXISO" ]
  168. then
  169.     rm -rf "$UXISO"
  170. fi
  171. }
  172.  
  173.  
  174. extra_files()
  175. {
  176. if [ -d "$1" ]
  177. then
  178.     for XA in "$*"
  179.     do
  180.         echo "$XA"|tr ' ' '\n' >> "$SF"
  181.     done
  182. fi
  183. }
  184.  
  185. sys_files()
  186. {
  187. touch "$SYSB"/STRBKP
  188.  
  189. lsmod > "$SYSB"/lsmod 2>/dev/null
  190. echo "##STRBKP" >> "$SYSB"/lsmod 2>/dev/null
  191.  
  192. df -h > "$SYSB"/dfh 2>/dev/null
  193. echo "##STRBKP" >> "$SYSB"/dfh 2>/dev/null
  194.  
  195. uname -a > "$SYSB"/uname-a 2>/dev/null
  196. echo "##STRBKP" >> "$SYSB"/uname-a 2>/dev/null
  197.  
  198. ifconfig > "$SYSB"/ifconfig 2>/dev/null
  199. echo "##STRBKP" >> "$SYSB"/ifconfig 2>/dev/null
  200.  
  201. iwconfig > "$SYSB"/iwconfig 2>/dev/null
  202. echo "##STRBKP" >> "$SYSB"/iwconfig 2>/dev/null
  203.  
  204. iptables-save >> "$SYSB"/save-tables 2>/dev/null
  205. echo "##STRBKP" >> "$SYSB"/save-tables 2>/dev/null
  206.  
  207. cp /etc/passwd /etc/shadow /etc/group /etc/mtab /etc/issue* /etc/motd* /etc/resolv.conf* "$SYSB" 1>/dev/null 2>/dev/null
  208. }
  209.  
  210. dtree()
  211. {
  212. for SRCD in `find "$UXB" -type d`
  213. do
  214.     echo "$SRCD" >> "$SD"
  215. done
  216. }
  217.  
  218. diso()
  219. {
  220. if [ ! -d "$UXISO" ]
  221. then
  222.     mkdir "$UXISO"
  223. fi
  224. }
  225.  
  226. deliso ()
  227. {
  228. if [ -f "$TMP"/"$UX".iso ]
  229. then
  230.     rm -rf "$TMP"/"$UX".iso
  231. fi
  232. }
  233.  
  234.  
  235. cdrw()
  236. {
  237. "$CDR" -v dev="$DRIVE" -checkdrive|grep Current|cut -d' ' -f3|cut -c5-6 > "$UXRW"
  238. if [ `cat "$UXRW"` == RW ]
  239. then
  240.     "$CDR" dev="$DRIVE" blank=fast
  241. fi
  242. rm -rf "$UXRW"
  243. }
  244. dvdrw()
  245. {
  246. "$CDR" -v dev="$DRIVE" -checkdrive|grep Current|cut -d' ' -f3|cut -c6-7 > "$UXRW"
  247. if [ `cat "$UXRW"` == RW ]
  248. then
  249.     "$RW" -blank "$DRIVE"
  250. fi
  251. rm -rf "$UXRW"
  252. }
  253.  
  254. bkpsgi()
  255. {
  256. if [ -d "$PDADOS" ]
  257. then
  258.     SSGI="$DSGI/dados $DSGI/execut $PDADOS"
  259.     if [ -d "$UXISO" ]
  260.     then
  261.         if [ -f "$UXISO"/"$BSGI" ]
  262.         then
  263.             (rm -rf "$UXISO"/"$BSGI";cd "$TMP";tar cjf "$UXISO"/"$BSGI" $SSGI)
  264.             echo -e "\033[1;32;40m"$BSGI" foi gerado em "$UXISO"\033[0m"
  265.         else
  266.             (cd "$TMP";tar cjf "$UXISO"/"$BSGI" $SSGI)
  267.             echo -e "\033[1;32;40m"$BSGI" foi gerado em "$UXISO"\033[0m"
  268.         fi
  269.     else
  270.         mkdir "$UXISO"     
  271.         (cd "$TMP";tar cjf "$UXISO"/"$BSGI" $SSGI)
  272.         echo -e "\033[1;32;40m"$BSGI" foi gerado em "$UXISO"\033[0m"
  273.     fi
  274. else
  275.     SSGI=""$DSGI"/dados "$DSGI"/execut"
  276.     if [ -d "$UXISO" ]
  277.     then
  278.         if [ -f "$UXISO"/"$BSGI" ]
  279.         then
  280.             (rm -rf "$UXISO"/"$BSGI";cd "$TMP";tar cjf "$UXISO"/"$BSGI" $SSGI)
  281.             echo -e "\033[1;32;40m"$BSGI" foi gerado em "$UXISO"\033[0m"
  282.         else
  283.             (cd "$TMP";tar cjf "$UXISO"/"$BSGI" $SSGI)
  284.             echo -e "\033[1;32;40m"$BSGI" foi gerado em "$UXISO"\033[0m"
  285.         fi
  286.     else
  287.         mkdir "$UXISO"     
  288.         (cd "$TMP";tar cjf "$UXISO"/"$BSGI" $SSGI)
  289.         echo -e "\033[1;32;40m"$BSGI" foi gerado em "$UXISO"\033[0m"
  290.     fi
  291. fi
  292. }
  293.  
  294. #--/Fim das Funcoes\--#
  295.  
  296.  
  297. case "$1" in
  298. -l)
  299. testree
  300. mesg_uxb
  301. tree "$UXB"
  302. ;;
  303. -la)
  304. testree
  305. mesg_uxb
  306. tree -a "$UXB"
  307. ;;
  308. -lf)
  309. if [ -f "$SF" ]
  310. then
  311.     cat "$SF"
  312. else
  313.     echo -e "\033[31;40m"$SF" Nao foi encontrado ou "$UX" nao existe\033[0m"
  314. fi
  315. ;;
  316. -ld)
  317. if [ -f "$SD" ]
  318. then
  319.     cat "$SD"
  320. else
  321.     echo -e "\033[31;40m"$SD" Nao foi encontrado tente usar "$0" -c primeiro\033[0m"
  322. fi
  323. ;;
  324. -lt)
  325. if [ -f "$UXISO"/"$UXT" ]
  326. then
  327.     ls --color -lah "$UXISO"/"$UXT"
  328.     read -p "Deseja Listar o conteudo de "$UXT"? (s/N) :" "QUEST0"
  329.     if [ "$QUEST0" = s -o "$QUEST0" = S ]
  330.     then
  331.         tar tvf "$UXISO"/"$UXT"
  332.     fi
  333. else
  334.     echo -e "\033[31;40m"$UXISO"/"$UXT" Nao existe!!!
  335. \033[32;40mEntre com "$0" -t para crialo\033[0m"
  336.     exit 0
  337. fi
  338. ;;
  339. -lgz)
  340. if [ -f "$UXISO"/"$UXZ" ]
  341. then
  342.     ls --color -lah "$UXISO"/"$UXZ"
  343.     read -p "Deseja Listar o conteudo de "$UXZ"? (s/N) :" "QUEST0"
  344.     if [ "$QUEST0" = s -o "$QUEST0" = S ]
  345.     then
  346.         tar tvzf "$UXISO"/"$UXZ"
  347.     fi
  348. else
  349.     echo -e "\033[31;40m"$UXISO"/"$UXZ" Nao existe!!!
  350. \033[32;40mEntre com "$0" -tgz para crialo\033[0m"
  351.     exit 0
  352. fi
  353. ;;
  354. -lbz)
  355. if [ -f "$UXISO"/"$UXJ" ]
  356. then
  357.     ls --color -lah "$UXISO"/"$UXJ"
  358.     read -p "Deseja Listar o conteudo de "$UXJ"? (s/N) :" "QUEST0"
  359.     if [ "$QUEST0" = s -o "$QUEST0" = S ]
  360.     then
  361.         tar tvjf "$UXISO"/"$UXJ"
  362.     fi
  363. else
  364.     echo -e "\033[31;40m"$UXISO"/"$UXJ" Nao existe!!!
  365. \033[32;40mEntre com "$0" -tbz para crialo\033[0m"
  366.     exit 0
  367. fi
  368. ;;
  369. -l7)
  370. if `7z 1>/dev/null 2>/dev/null`
  371. then
  372.     if [ -f "$UXISO"/"$UX7" ]
  373.     then
  374.         ls --color -lah "$UXISO"/"$UX7"
  375.         read -p "Deseja Listar o conteudo de "$UX7"? (s/N) :" "QUEST0"
  376.         if [ "$QUEST0" = s -o "$QUEST0" = S ]
  377.         then
  378.             7z l "$UXISO"/"$UX7"
  379.         fi
  380.     else
  381.         echo -e "\033[31;40m"$UXISO"/"$UX7" Nao existe!!!
  382. \033[32;40mEntre com "$0" -7z para crialo\033[0m"
  383.         exit 0
  384.     fi
  385. else
  386.     err7   
  387. fi
  388. ;;
  389. -m)
  390. if [ ! -f "$SF" ]
  391. then
  392.     if [ ! -d "$UXB" ]
  393.     then
  394.         mkdir "$UXB"
  395.     fi 
  396.     search
  397. else
  398.     rm -rf "$SF"
  399.     search
  400. fi
  401. shift
  402. if [ -d "$1" ]
  403. then
  404.     for XA in "$*"
  405.     do
  406.         echo "$XA"|tr ' ' '\n' >> "$SF"
  407.     done
  408. fi
  409. ;;
  410. -c)
  411. mesg_uxb
  412. for DIR in `cat "$SF"|grep -v STRBKP`
  413. do
  414.     PAT=`dirname "$DIR"`
  415.     mkdir -p "$UXB""$PAT"
  416. done
  417.  
  418. if [ ! -f "$SD" ]
  419. then
  420.     dtree
  421. else
  422.     rm -rf "$SD"
  423.     dtree
  424. fi
  425. ;;
  426. -mc)
  427. "$0" -m
  428. "$0" -c
  429. echo -e "\033[1;32;40m"$UXB" Pronto\033[0m"
  430. ;;
  431. -cp)
  432. for COPY0 in "$UXB"
  433. do
  434.     for COPY1 in `cat "$SF"|grep -v STRBKP`
  435.     do
  436.         cp -rau "$COPY1" "$COPY0""$COPY1" 1>/dev/null 2>/dev/null
  437.     done
  438.  
  439.     for COPY2 in `cat "$SF"|grep STRBKP`
  440.     do
  441.         PAT=`dirname "$COPY2"`
  442.         PAT1=`dirname "$PAT"`
  443.         if [ -d "$UXB""$PAT" ]
  444.         then
  445.             cp -rau "$PAT" "$UXB""$PAT1"
  446.         else
  447.             mkdir -p "$UXB""$PAT1"
  448.             cp -rau "$PAT" "$UXB""$PAT1"
  449.         fi
  450.     done
  451. done
  452. ;;
  453. -sysl)
  454. if [ -d "$SYSB" ]
  455. then
  456.     for lista in $SYSB/*
  457.     do
  458.         echo -e "\033[1;31;40mVoce esta vendo o arquivo \033[36;40m"$lista"\033[0m"
  459.         cat "$lista"|less
  460.     done
  461. else
  462.     echo -e "\033[31;40m"$SYSB" nao existe\033[32;40m
  463. Faca "$0" -sys para crialo primeiro.\033[0m"   
  464. fi
  465. ;;
  466. -sys)
  467. if [ ! -d "$SYSB" ]
  468. then
  469.     mkdir -p "$SYSB"
  470.     sys_files
  471. else
  472.     rm -rf "$SYSB"/*
  473.     sys_files  
  474. fi
  475. ;;
  476. -t)
  477. diso
  478. if [ -d "$TMP"/"$UX" ]
  479. then
  480.     if [ -f "$UXISO"/"$UXT" ]
  481.     then
  482.         (rm -rf "$UXISO"/"$UXT";cd "$TMP";tar cf "$UXISO"/"$UXT" "$UX")
  483.         echo -e "\033[1;32;40m"$UXT" foi gerado em "$UXISO"\033[0m"
  484.     else
  485.         (cd "$TMP";tar cf "$UXISO"/"$UXT" "$UX")
  486.         echo -e "\033[1;32;40m"$UXT" foi gerado em "$UXISO"\033[0m"
  487.     fi
  488. else
  489.     erro2
  490. fi
  491. ;;
  492. -tgz)
  493. diso
  494. if [ -d "$TMP"/"$UX" ]
  495. then
  496.     if [ -f "$UXISO"/"$UXZ" ]
  497.     then
  498.         (rm -rf "$UXISO"/"$UXZ";cd "$TMP";tar czf "$UXISO"/"$UXZ" "$UX")
  499.         echo -e "\033[1;32;40m"$UXZ" foi gerado em "$UXISO"\033[0m"
  500.     else
  501.    
  502.         (cd "$TMP";tar czf "$UXISO"/"$UXZ" "$UX")
  503.         echo -e "\033[1;32;40m"$UXZ" foi gerado em "$UXISO"\033[0m"
  504.     fi
  505. else
  506.     erro2
  507. fi
  508. ;;
  509. -tbz)
  510. diso
  511. if [ -d "$TMP"/"$UX" ]
  512. then
  513.     if [ -f "$UXISO"/"$UXJ" ]
  514.     then
  515.         (rm -rf "$UXISO"/"$UXJ";cd "$TMP";tar cjf "$UXISO"/"$UXJ" "$UX")
  516.         echo -e "\033[1;32;40m"$UXJ" foi gerado em "$UXISO"\033[0m"
  517.     else
  518.         (cd "$TMP";tar cjf "$UXISO"/"$UXJ" "$UX")
  519.         echo -e "\033[1;32;40m"$UXJ" foi gerado em "$UXISO"\033[0m"
  520.     fi
  521. else
  522.     erro2
  523. fi
  524. ;;
  525. -7z)
  526. diso
  527. if [ -d "$TMP"/"$UX" ]
  528. then
  529.     if `7z 1>/dev/null 2>/dev/null`  
  530.     then
  531.         if [ -f "$UXISO"/"$UX7" ]
  532.         then
  533.             (rm -rf "$UXISO"/"$UX7";cd "$TMP";7z a "$UXISO"/"$UX7" "$UX")
  534.             echo -e "\033[1;32;40m"$UX7" foi gerado em "$UXISO"\033[0m"
  535.         else
  536.             (cd "$TMP";7z a "$UXISO"/"$UX7" "$UX")
  537.             echo -e "\033[1;32;40m"$UX7" foi gerado em "$UXISO"\033[0m"
  538.         fi
  539.     else
  540.         err7
  541.     fi
  542. else
  543.     erro2
  544. fi
  545. ;;
  546. -7u)
  547. diso
  548. if [ -d "$TMP"/"$UX" ]
  549. then
  550.     if `7z 1>/dev/null 2>/dev/null`  
  551.     then
  552.         if [ -f "$UXISO"/"$UX7" ]
  553.         then
  554.             (rm -rf "$UXISO"/"$UX7";cd "$TMP";7z a -mx9 "$UXISO"/"$UX7" "$UX")
  555.             echo -e "\033[1;32;40m"$UX7" foi gerado em "$UXISO"\033[0m"
  556.         else
  557.             (cd "$TMP";7z a -mx9 "$UXISO"/"$UX7" "$UX")
  558.             echo -e "\033[1;32;40m"$UX7" foi gerado em "$UXISO"\033[0m"
  559.         fi
  560.     else
  561.         err7
  562.     fi
  563. else
  564.     erro2
  565. fi
  566. ;;
  567. -d)
  568. if [ -d "$UXB" ]
  569. then
  570.     read -p "Tem certeza que deseja excluir "$UXB" definitivamente? (s/N) :" "QUEST3"
  571.     if [ "$QUEST3" = s -o "$QUEST3" = S ]
  572.     then
  573.         echo -e "\033[36;40mRemovendo "$UXB"...\033[0m"
  574.         rm -rf "$UXB"
  575.     fi 
  576. else
  577.     echo -e "\033[36;40m"$UXB" nao hexiste!\033[0m"
  578. fi
  579. ;;
  580. -di)
  581. shift
  582. while [ -f "$SD" ]
  583. do
  584.     for DDIR in `cat "$SD"`
  585.     do 
  586.         DPAT=`dirname "$DDIR"`
  587.         for XS in "$DPAT"
  588.         do
  589.             if [ "$XS" == "."  -o "$XS" == "/tmp" ]
  590.             then
  591.                 break
  592.             fi
  593.    
  594.             read -p "Deseja realmente remover o diretório "$XS"? (s/N) :" "QUEST1"
  595.             if [ "$QUEST1" = s -o "$QUEST1" = S ]
  596.             then
  597.                 echo "Removendo "$XS""
  598.                 rm -rf "$XS"
  599.             else
  600.                 read -p "Deseja Continuar removendo? (S/n) :" "QUEST2"
  601.                 if [ "$QUEST2" = n -o "$QUEST2" = N ]
  602.                 then
  603.                     exit 0
  604.                 else
  605.                     continue
  606.                 fi
  607.             fi
  608.         done
  609.     done
  610. done
  611. ;;
  612. -da)
  613. if [ -d "$UXB" ]
  614. then
  615.     rm -rf "$UXB"
  616. fi
  617. if [ -d "$SYSB" ]
  618. then
  619.     rm -rf "$SYSB"
  620. fi
  621. deliso
  622. del_compress
  623. echo -e "\033[32;40mTudo destruido com sucesso!\033[0m"
  624. ;;
  625. -df)
  626. del_compress
  627. echo -e "\033[32;40mOs comprimidos nao hexistem mais!\033[0m"
  628. ;;
  629. -mcp)
  630. "$0" -da>/dev/null
  631. "$0" -sys 2>/dev/null
  632. "$0" -m
  633. shift
  634. if [ -d "$1" ]
  635. then
  636.     for XA in "$*"
  637.     do
  638.         echo "$XA"|tr ' ' '\n' >> "$SF"
  639.     done
  640. fi
  641. "$0" -c
  642. "$0" -cp
  643. ;;
  644. -mcpt)
  645. "$0" -da>/dev/null
  646. "$0" -sys 2>/dev/null
  647. "$0" -m
  648. shift
  649. if [ -d "$1" ]
  650. then
  651.     for XA in "$*"
  652.     do
  653.         echo "$XA"|tr ' ' '\n' >> "$SF"
  654.     done
  655. fi
  656. "$0" -c
  657. "$0" -cp
  658. "$0" -t
  659. ;;
  660. -mcpz)
  661. "$0" -da>/dev/null
  662. "$0" -sys 2>/dev/null
  663. "$0" -m
  664. shift
  665. if [ -d "$1" ]
  666. then
  667.     for XA in "$*"
  668.     do
  669.         echo "$XA"|tr ' ' '\n' >> "$SF"
  670.     done
  671. fi
  672. "$0" -c
  673. "$0" -cp
  674. "$0" -tgz
  675. ;;
  676. -mcpb)
  677. "$0" -da>/dev/null
  678. "$0" -sys 2>/dev/null
  679. "$0" -m
  680. shift
  681. if [ -d "$1" ]
  682. then
  683.     for XA in "$*"
  684.     do
  685.         echo "$XA"|tr ' ' '\n' >> "$SF"
  686.     done
  687. fi
  688. "$0" -c
  689. "$0" -cp
  690. "$0" -tbz
  691. ;;
  692. -mcp7)
  693. "$0" -da>/dev/null
  694. "$0" -sys 2>/dev/null
  695. "$0" -m
  696. shift
  697. if [ -d "$1" ]
  698. then
  699.     for XA in "$*"
  700.     do
  701.         echo "$XA"|tr ' ' '\n' >> "$SF"
  702.     done
  703. fi
  704. "$0" -c
  705. "$0" -cp
  706. "$0" -7z
  707. ;;
  708. -mcp7u)
  709. "$0" -da>/dev/null
  710. "$0" -sys 2>/dev/null
  711. "$0" -m
  712. shift
  713. if [ -d "$1" ]
  714. then
  715.     for XA in "$*"
  716.     do
  717.         echo "$XA"|tr ' ' '\n' >> "$SF"
  718.     done
  719. fi
  720. "$0" -c
  721. "$0" -cp
  722. "$0" -7u
  723. ;;
  724. -sgi)
  725. if [ -d "$DSGI" ]
  726. then
  727.     if [ "$RUNER" -gt 0 ]
  728.     then
  729.         if [ "$SHORA" -ge 9 ]
  730.         then
  731.             echo OLHA... Ja Sao 9 da noite...
  732.             echo eu vou eliminar todos para o bkp
  733.             killall -KILL dfrun
  734.             bkpsgi
  735.         else
  736.             echo é.... ainda ta cedo... `date +%H:%M`
  737.         fi
  738.  
  739.     else
  740.         bkpsgi
  741.     fi
  742. else
  743.     echo "$DSGI" nao foi encontrado... SGI nao instalado ou fora do caminho padrao!
  744. fi
  745. ;;
  746. -cdr)
  747. deliso
  748. "$MKISO" -o "$UXB".iso -r "$UXB"
  749. cdrw
  750. "$CDR" -v dev="$DRIVE" -overburn -data "$UXB".iso
  751. ;;
  752. -cdf)
  753. deliso
  754. "$MKISO" -o "$UXB".iso -r "$UXISO"
  755. cdrw
  756. "$CDR" -v dev="$DRIVE" -overburn -data "$UXB".iso
  757. ;;
  758. -dvd)
  759. deliso
  760. "$MKISO" -o "$UXB".iso -r "$UXB"
  761. dvdrw
  762. "$GROW" -use-the-force-luke=tty -dvd-compat -overburn -Z "$DRIVE"="$UXB".iso
  763. ;;
  764. -dvt)
  765. deliso
  766. "$MKISO" -o "$UXB".iso -r "$UXISO"
  767. dvdrw
  768. "$GROW" -use-the-force-luke=tty -dvd-compat -overburn -Z "$DRIVE"="$UXB".iso
  769. ;;
  770. -v)
  771. me-ver
  772. ;;
  773. *)
  774. echo -e "\033[1;32;40mModo de Usar:\033[0m
  775.     \033[1;34;40m-m\033[0m  \033[32;40m(Cria "$UXB") { ex:[ uxbkp -m ] ou [ uxbkp -m /dir1... /dir2... etc... ] }\033[0m
  776.     \033[1;34;40m-c\033[0m  \033[32;40m(Cria árvore)\033[0m
  777.     \033[1;34;40m-mc\033[0m \033[32;40m(Cria e popula árvore)\033[0m
  778.     \033[1;34;40m-cp\033[0m \033[32;40m(Copia clone "$UXB" como árvore)\033[0m
  779.     \033[1;34;40m-sysl\033[0m   \033[32;40m(Veja as entradas em sysb)\033[0m
  780.     \033[1;34;40m-sys\033[0m    \033[32;40m(Informacoes adcionais,como ifconfig,df e saidas do iptables-save)\033[0m
  781.     \033[1;34;40m-t\033[0m  \033[32;40m(Gera um pacote tar)\033[0m
  782.     \033[1;34;40m-tgz\033[0m    \033[32;40m(Gera um pacote tar comprimido com o gzip)\033[0m
  783.     \033[1;34;40m-tbz\033[0m    \033[32;40m(Pacote tar comprimido pelo bzip)\033[0m
  784.     \033[1;34;40m-7z\033[0m \033[32;40m(Compressao com o 7z em modo normal)\033[0m
  785.     \033[1;34;40m-7u\033[0m \033[32;40m(Compressao Ultra com 7z)\033[0m
  786.     \033[1;34;40m-mcp\033[0m    \033[32;40m(Cria, gera e popula a árvore)\033[0m
  787.     \033[1;34;40m-mcpt\033[0m   \033[32;40m(O mesmo que o mcp com pacote tar)\033[0m
  788.     \033[1;34;40m-mcpz\033[0m   \033[32;40m(O mesmo que mcp com gzip)\033[0m
  789.     \033[1;34;40m-mcpb\033[0m   \033[32;40m(O mesmo que mcp com bzip)\033[0m
  790.     \033[1;34;40m-mcp7\033[0m   \033[32;40m(O mesmo que mcp com 7zip)\033[0m
  791.     \033[1;34;40m-mcp7u\033[0m  \033[32;40m(O mesmo que o mcp7 com ultra compressao)\033[0m
  792.     \033[1;34;40m-sgi\033[0m    \033[32;40m(Exclusivo para o Sistema Solidus da SGI \"BETA\")\033[0m
  793.     \033[1;34;40m-cdr\033[0m    \033[32;40m(Grava um CD com os arquivos encontrados em "$UXB")\033[0m
  794.     \033[1;34;40m-cdf\033[0m    \033[32;40m(Grava um CD com os arquivos encontrados em "$UXISO")\033[0m
  795.     \033[1;34;40m-dvd\033[0m    \033[32;40m(Grava um DvD com os arquivos encontrados em "$UXB")\033[0m
  796.     \033[1;34;40m-dvt\033[0m    \033[32;40m(Grava um DvD com os arquivos encontrados em "$UXISO")\033[0m
  797.     \033[1;34;40m-d\033[0m  \033[32;40m(destroi "$UXB")\033[0m
  798.     \033[1;34;40m-da\033[0m \033[32;40m(destroi "$UXB" e tudo mais que foi gerado)\033[0m
  799.         \033[1;34;40m-di\033[0m \033[32;40m(destruicao interativa \"BETA\")\033[0m
  800.     \033[1;34;40m-df\033[0m \033[32;40m(destroi os arquivos comprimidos e ISO's)\033[0m
  801.     \033[1;34;40m-l\033[0m  \033[32;40m(lista árvore)\033[0m
  802.     \033[1;34;40m-la\033[0m \033[32;40m(lista árvore e ocultos)\033[0m
  803.     \033[1;34;40m-ld\033[0m \033[32;40m(lista o arquivo \"dtree\")\033[0m
  804.     \033[1;34;40m-lf\033[0m \033[32;40m(lista o arquivo \"ftree\")\033[0m
  805.     \033[1;34;40m-lt\033[0m \033[32;40m(lista arquivo tar)\033[0m
  806.     \033[1;34;40m-lbz\033[0m    \033[32;40m(lista arquivo bzip2)\033[0m
  807.     \033[1;34;40m-lgz\033[0m    \033[32;40m(lista arquivo gzip)\033[0m
  808.     \033[1;34;40m-l7\033[0m \033[32;40m(lista arquivo 7zip)\033[0m
  809.     \033[1;34;40m-v\033[0m  \033[32;40m(versao e notas do autor)\033[0m
  810.                                     "
  811. ERRO=4
  812. exit 4
  813. ;;
  814. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement