swapfile.sh 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. #!/bin/bash
  2. clear
  3. BARRA="\033[0;49;31m============================================================\033[0m"
  4. echo -e $BARRA
  5. echo -e "\033[7;107;31mEsto le ayudara a crear un archivo swap para su sistema\033[0m"
  6. echo -e $BARRA
  7. echo "Enter para continuar..."
  8. read foo
  9. stsl=$(ps x | grep "limiter"|grep -v grep > /dev/null && echo -e "\033[1;32m◉ " || echo -e "\033[1;31m○ ")
  10. swap=/swapfile
  11. fstab=/etc/fstab
  12. sysctl=/etc/sysctl.conf
  13. funcion_crear () {
  14. clear
  15. echo -e $BARRA
  16. echo "se recomienda que la memoria swap"
  17. echo "sea de almenos el doble de su memoria ram"
  18. echo -e $BARRA
  19. echo "Seleccione una opcion"
  20. echo ""
  21. echo "1) 2GB"
  22. echo "2) 4GB"
  23. echo "3) 8GB"
  24. echo ""
  25. echo "0) Regresar al inicio"
  26. echo -e $BARRA
  27. echo -n "Opcion:"
  28. read opcion
  29. case $opcion in
  30. 1)
  31. clear
  32. echo -e $BARRA
  33. echo "Creando archivo swapfile"
  34. echo -e $BARRA
  35. dd if=/dev/zero of=$swap bs=1MB count=2048
  36. echo -e $BARRA
  37. echo "Archivo creado"
  38. echo "comprueve detalles en la opcion 2";;
  39. 2)
  40. clear
  41. echo -e $BARRA
  42. echo "Creando archivo swapfile"
  43. echo -e $BARRA
  44. dd if=/dev/zero of=$swap bs=1MB count=4096
  45. echo -e $BARRA
  46. echo "Archivo creado"
  47. echo "comprueve detalles en la opcion 2";;
  48. 3)
  49. clear
  50. echo -e $BARRA
  51. echo "Creando archivo swapfile"
  52. echo -e $BARRA
  53. dd if=/dev/zero of=$swap bs=1MB count=8192
  54. echo -e $BARRA
  55. echo "Archivo creado"
  56. echo "comprueve detalles en la opcion 2";;
  57. 0)
  58. echo "";;
  59. *)
  60. echo ""
  61. echo "Solo opciones del 0 al 3"
  62. sleep 2
  63. funcion_crear;;
  64. esac
  65. }
  66. funcion_enter () {
  67. echo ""
  68. echo "Enter para continuar"
  69. read foo
  70. }
  71. funcion_remove () {
  72. clear
  73. echo -e $BARRA
  74. echo "Se encontro un archivo swap pre-existente"
  75. echo -e $BARRA
  76. echo "desea remover el archivo"
  77. echo ""
  78. echo "1) si"
  79. echo "2) no"
  80. echo -e $BARRA
  81. echo -n "Opcion:"
  82. read opcion
  83. case $opcion in
  84. 1)
  85. rm $swap
  86. echo ""
  87. echo "archivo removido"
  88. echo ""
  89. echo "Enter para continuar"
  90. read foo
  91. funcion_crear;;
  92. 2)
  93. echo "";;
  94. *)
  95. echo ""
  96. echo "Solo opciones del 1 al 2"
  97. sleep 2
  98. funcion_remove;;
  99. esac
  100. }
  101. funcion_check () {
  102. clear
  103. echo -e $BARRA
  104. echo "Comprobando detalles del archivo"
  105. echo -e $BARRA
  106. sleep 3
  107. ls -lh $swap
  108. echo -e $BARRA
  109. }
  110. funcion_error () {
  111. clear
  112. echo -e $BARRA
  113. echo "No se encontro ningun archivo"
  114. echo "para crear usa la opcion 1"
  115. echo -e $BARRA
  116. }
  117. funcion_assign () {
  118. clear
  119. echo -e $BARRA
  120. echo "Asignando permisos y formato"
  121. echo -e $BARRA
  122. sleep 2
  123. chmod 600 $swap
  124. mkswap $swap
  125. echo -e $BARRA
  126. echo "listo"
  127. }
  128. funcion_activar () {
  129. clear
  130. echo -e $BARRA
  131. echo "Como desea activar la memoria swap"
  132. echo -e $BARRA
  133. echo "1) permanente"
  134. echo "2) temporal (asta el proximo reinicio)"
  135. echo ""
  136. echo "0) Regresar al inicio"
  137. echo -e $BARRA
  138. echo -n "Opcion:"
  139. read opcion
  140. case $opcion in
  141. 1)
  142. sed -i '/swap/d' $fstab
  143. echo "/swapfile none swap sw 0 0" >> $fstab
  144. swapon $swap
  145. clear
  146. echo -e $BARRA
  147. echo "memoria swap activada"
  148. echo "de forma permanente"
  149. echo -e $BARRA;;
  150. 2)
  151. swapon $swap
  152. clear
  153. echo -e $BARRA
  154. echo "memoria swap activada"
  155. echo "asta el proximo reinicio"
  156. echo -e $BARRA;;
  157. 0)
  158. echo "";;
  159. *)
  160. echo ""
  161. echo "Solo opciones del 0 al 2"
  162. sleep 2
  163. funcion_activar
  164. esac
  165. }
  166. funcion_prio () {
  167. clear
  168. echo -e $BARRA
  169. echo "Asigne la prioridad swap"
  170. echo -e $BARRA
  171. echo "1) 10"
  172. echo "2) 20 (recomendado)"
  173. echo "3) 30"
  174. echo "4) 40"
  175. echo "5) 50"
  176. echo "6) 60"
  177. echo "7) 70"
  178. echo "8) 80"
  179. echo "9) 90"
  180. echo "10) 100"
  181. echo ""
  182. echo "0) Regresar al inicio"
  183. echo -e $BARRA
  184. echo -n "Opcion:"
  185. read opcion
  186. case $opcion in
  187. 1)
  188. clear
  189. echo "vm.swappiness=10" >> $sysctl
  190. echo "swappines asignado en 10"
  191. echo "los cambios se aplicaran"
  192. echo "despues del reinicio";;
  193. 2)
  194. clear
  195. echo "vm.swappiness=20" >> $sysctl
  196. echo "swappines asignado en 20"
  197. echo "los cambios se aplicaran"
  198. echo "despues del reinicio";;
  199. 3)
  200. clear
  201. echo "vm.swappiness=30" >> $sysctl
  202. echo "swappines asignado en 30"
  203. echo "los cambios se aplicaran"
  204. echo "despues del reinicio";;
  205. 4)
  206. clear
  207. echo "vm.swappiness=40" >> $sysctl
  208. echo "swappines asignado en 40"
  209. echo "los cambios se aplicaran"
  210. echo "despues del reinicio";;
  211. 5)
  212. clear
  213. echo "vm.swappiness=50" >> $sysctl
  214. echo "swappines asignado en 50"
  215. echo "los cambios se aplicaran"
  216. echo "despues del reinicio";;
  217. 6)
  218. clear
  219. echo "vm.swappiness=60" >> $sysctl
  220. echo "swappines asignado en 60"
  221. echo "los cambios se aplicaran"
  222. echo "despues del reinicio";;
  223. 7)
  224. clear
  225. echo "vm.swappiness=70" >> $sysctl
  226. echo "swappines asignado en 70"
  227. echo "los cambios se aplicaran"
  228. echo "despues del reinicio";;
  229. 8)
  230. clear
  231. echo "vm.swappiness=80" >> $sysctl
  232. echo "swappines asignado en 80"
  233. echo "los cambios se aplicaran"
  234. echo "despues del reinicio";;
  235. 9)
  236. clear
  237. echo "vm.swappiness=90" >> $sysctl
  238. echo "swappines asignado en 90"
  239. echo "los cambios se aplicaran"
  240. echo "despues del reinicio";;
  241. 10)
  242. clear
  243. echo "vm.swappiness=100" >> $sysctl
  244. echo "swappines asignado en 100"
  245. echo "los cambios se aplicaran"
  246. echo "despues del reinicio";;
  247. 0)
  248. echo "";;
  249. *)
  250. echo ""
  251. echo "Solo opciones del 0 al 10"
  252. sleep 2
  253. funcion_prio;;
  254. esac
  255. }
  256. while :
  257. do
  258. clear
  259. echo -e $BARRA
  260. echo "Seleccione una opcion"
  261. echo -e $BARRA
  262. echo "1) Crear/Eliminar archivo"
  263. echo "2) Comprovar archivo"
  264. echo "3) Dar formato y permisos al archivo"
  265. echo "4) Activar/Desactvar swap"
  266. echo "5) Prioridad swap"
  267. echo ""
  268. echo "0) Salir"
  269. echo -e $BARRA
  270. echo -n "Opcion:"
  271. read opcion
  272. case $opcion in
  273. 1)
  274. if [ -f $swap ]; then
  275. funcion_remove
  276. else
  277. funcion_crear
  278. fi
  279. funcion_enter;;
  280. 2)
  281. if [ -f $swap ]; then
  282. funcion_check
  283. else
  284. funcion_error
  285. fi
  286. funcion_enter;;
  287. 3)
  288. if [ -f $swap ]; then
  289. funcion_assign
  290. else
  291. funcion_error
  292. fi
  293. funcion_enter;;
  294. 4)
  295. if [ -f $swap ]; then
  296. funcion_activar
  297. else
  298. funcion_error
  299. fi
  300. funcion_enter;;
  301. 5)
  302. if [ -f $swap ]; then
  303. funcion_prio
  304. else
  305. funcion_error
  306. fi
  307. funcion_enter;;
  308. 0)
  309. clear
  310. echo -e $BARRA
  311. echo "script finalizado"
  312. echo -e $BARRA
  313. echo "Enter para continuar"
  314. read foo
  315. clear
  316. exit;;
  317. *)
  318. echo ""
  319. echo "solo opciones del 0 al 5"
  320. sleep 1;;
  321. esac
  322. done