SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
PROYECTO FINAL
UNIX
Descripción del proyecto. 
ProcessX (Control de procesos):
https://github.com/DevelopMoy/ProcessX
Script de consola diseñado para gestionar los procesos de una
manera sencilla, el script tiene un menú para ser controlado de una
manera mas intuitiva y amigable para el usuario.
El script tiene las siguientes funciones:
Crear Proceso: Crea un proceso con el nombre indicado.
Matar Proceso: Te permite matar el proceso por nombre, uso de
RAM o uso de CPU.
Mostrar Procesos: Proporciona una lista de todos los procesos
actuales ordenados por PID.
Buscar Proceso: Te permite ingresar un nombre para ubicar el
PID de el proceso.
AutoKill: Utilidad para escanear procesos en tiempo real, dado
un margen de carga para el CPU, parara todos los procesos que
incumplan dicho limite.
Configuración: Es necesario iniciar el script como super-usuario debido
a los permisos que requiere la gestion de procesos.
Manual del script:
-Seleccione el número de opción para abrir las opciones internas.
-Podemos crear procesos desde el script sin necesidad de salir a
consola.
-Así mismo contamos con una opción para mostrar los procesos actuales
en modo listado.
-Así mismo podemos buscar un proceso por nombre con la opción
LookForAProcess.
-Podemos elegir entre diferentes opciones para eliminar un proceso, asi
mismo, tenemos la opción de auto-escanear para evitar que el sistema
ocupe mucha carga del procesador.
-Aqui ingresamos el limite de carga para el procesador, es decir, a partir
de este valor se matara cualquier proceso que sobrepase dicho limite.
- Al darle enter, estará corriendo el script, para finalizar presionamos ctrl+c.
C​RON (respaldo): ​Esta parte del proyecto inicia respaldando una
carpeta, desde un script bash, para posteriormente agregar este script
a la tabla cron para que se ejecute cada cierto tiempo, en este caso
cada 10 minutos.
Después de hacer el respaldo, otro script se encargará de empaquetar
la carpeta, mediante .tar.gz, y ese mismo script se encargará de
mandar a una Unidad Externa, este script se ejecutará cada 5 min, al
igual que el anterior se agrega a la tabla cron para que esté
programada la tarea, por ultimo en este script también sé dividirá el
archivo en 3 y nombrando con el formato
proyectoUNIX_UNO_FECHA.tar.gz,proyectoUNIX_DOS_FECHA.tar.g
z, proyectoUNIX_TRES_FECHA.tar.gz.
Pasos de configuración:
Para los scripts se usó vi y para agregar los scripts al cron tab, se
utilizó el comando crontab -e, agregando la linea segun los minutos
programados y la dirección del script.
Explicación de Scripts y Proceso:
Primer Script: Respaldo
Se crea la carpeta donde quedarán los respaldos:
Los Scripts están alojados en la siguiente dirección:
El primero “respaldo.sh” :
Usa el comando “cp” para copiar el contenido del directorio /var/www/, asi como
el comando date para darle formato al nombre del archivo se se creará.
El segundo Script “divide.sh” se encarga de empaquetar la carpeta de
respaldoTOTAL, de dividirlo en en 3 y mandarlos a la unidad externa.
Se declara una variable para guardar el formato de fecha
Se empaqueta con el comando tar y el empaquetado tiene un nombre provisional
“re.tar.gz”
Se procede a dividirlo en 3 partes, las cuales tendrán el prefijo “x” en la misma
carpeta.
Se elimina el archivo provisional.
Se declará una variable con el nombre de la unidad externa.
Se va a mover la primera parte del archivo dividido a la carpeta actual ya con el
nombre formateado como se pidió para posteriormente mandarla a la unidad
externa.
Se repite el proceso para las otras 2 partes.
Se eliminan los archivos provicionales creados para evitar sobre carga.
Para concluir esta parte del proyecto se incluyen ambos scripts a la crontab,
abriendola con el comando crontab y el argumento “-e”.
Pagina web con formulario: ​Esta parte del proyecto incluye una pagina
que esta alojada en un servidor virtual de Apache, utiliza las
tecnologías PHP, python, HTML5 y CSS3 para lo visual.
La pagina tiene varios apartados que fueron personalizados para una
interacción amigable e intuitiva con el usuario. Su función principal es
la de enviar un formulario el cual sera procesado gracias a la
interacción PHP-Python y creara varios directorios dentro del servidor
local para después ser consultados.
Manual Codigo Pagina Web:
-El script acces.py contiene el codigo necesario para recibir los datos
enviados por el formulario, así mismo, crea sus respectivos directorios
y el archivo de texto para la manipulación de datos.
-A continuación se muestra el script consulta2.py, el cual recopila la
información de los archivos creados previamente y los muestra en
pantalla
-Todos los estilos fueron escritos con CSS3 Y HTML5.
Temas investigados para el proyecto: 
-​Comando Awk usos comunes y sintaxis.
-Configuración de un servidor apache.
-Instalación de módulos Apache.
-Utilización de comandos para monitorización de procesos.
-Compresión y empaquetado de archivos con tar y tar.gz.
-Manejo de archivos con Python.
-Nuevas etiquetas de HTML5.
-Concatenación de la salida del comando en codigo bash.
-Estilos utilizando css3.
-Comando split para dividir archivo.
-Varios comandos de bash para controlar el flujo de datos en la consola.
 
 
 
 
 
 
 
 
 
 
 
 
 
Bitacora y trabajo: 
ProcessX (Moises Alvarez): 
Realización de boceto sin interfaz de consola, el cual podia
iniciar un proceso dado por un argumeto del script.
Creación de menú el cual contiene varias funciones que
posteriormente serán programadas para darle la funcionalidad
completa.
Opción para iniciar algún proceso programada, así mismo se
valido en la opción para matar procesos que se ingresaran
valores correctos, todo esto pasando una serie de filtros con
ayuda de condicionales y el comando grep y awk.
Completadas las opciones de iniciar y matar proceso, aun faltan
algunas validaciones para que no colapse el script.
Reparación de bugs y errores minimos.
Opciones para visualizar todos los procesos, esto sirve de guia
para las anteriores opciones ya programadas.
Despues de mostrarle al profesor el avance me sugirio incorporar
una nueva función que escanea el sistema en busca de
procesos pesados y los elimina.
Se incorpora dicha función ingresando un limite a partir del cual
comenzará a detener los procesos no deseados, así mismo se
puede modificar la frecuencia de busqueda en el codigo.
Así mismo, incluyo link del repositorio del proyecto, el cual contiene los
commits hechos a lo largo de la creación del script:
https://github.com/DevelopMoy/ProcessX/commits/master
-CRON (Jorge Avila): 
 
Para la realización del proyecto empecé investigando acerca del
CRON, y CRON TAB, para saber como programar las tareas, después
empece realizando las carpetas para realizar correcto lo que se pide,
tales como la carpeta respaldoTOTAL, cuando ya las tenía ya podía
hacer mis scripts, empecé con el script que realiza el respaldo, el cual
solo es copiar el contenido de una carpeta a otra, esto solo se me
complico en el formato del nombre del archivo.
Ya teniendo el script lo agregué al cron tab para que se realizara cada
10 min, hice pruebas poniendo que se hiciera cada minuto y al ver
buenos resultados, lo regresé a 10 min.
El segundo script dependía de los archivos que generaba el respaldo,
entonces lo primero fue investigar como se empaquetaba un archivo,
ya teniendo el archivo empaquetado solo quedaba dividirlo, para ello
encontré el comando split que me funcionaba perfectamente, entonces
con ayuda de este, el script ya dividía el archivo ( ya empaquetado) y
al momento de que el script manda los archivos a la USB, se
cambiaba el nombre de los tres archivos para que tuvieran el formato
que se pide.
-Pagina Web (Jorge Avila, Moises Alvarez): 
Comenzamos instalando el servidor Apache con los comandos
correspondientes, apoyándonos en la clase del profesor,
posteriormente creamos el esqueleto principal unicamente con php y
html. Despues de ya tener el formulario creado tuvimos que encontrar
el mejor modulo o framework de python que se adecuara para
nuestras necesidades, despues de investigar, encontramos un modulo
llamado python_mod el cual requería unas configuraciones especiales
dentro de la carpeta /etc/apache2. Después creamos toda la maqueta
de la web con HTML y creamos la lógica principal de los 2 scripts de
python, los cuales incluyen los scripts que manipularan todos los
archivos y directorios necesarios.
Al final creamos con ayuda de estilos en CSS3 una interfaz amigable
para el usuario, creando 4 pestañas diferentes en las cuales el usuario
puede interactuar de la siguiente forma: ver una portada la cual le da la
bienvenida al usuario, ir directo al formulario debidamente validado
para evitar errores humanos, consultar la información ingresada y
guardada
en el server local, ver la documentación la cual esta incrustada en un
visor de pdf a través de una etiqueta de HTML5 y por ultimo los
creditos del proyecto.
-Conclusiones: 
Con la realización de este proyecto, podemos concluir que el sistema
operativo basado en LINUX/UNIX, nos da herramientas que nos
ayudan a asegurar nuestros archivos, tanto como el respaldo como la
programación de tareas, ya que en un ambiente real de servidores,
sera indispensable tener a salvo los archivos y tener tareas que
ayudan igualmente a la seguridad del servidor.
En la programación de la página concluimos que apache nos da un sin
fin de posibilidades las cuales podemos aprovechar para hacer
proyectos muy buenos, también con la utilización de HTML pudimos
darnos una idea de lo que veremos en próximos semestres, ya que es
una base muy importante.
Así mismo el trabajo en equipo fue una base sumamente importante
en la construcción del proyecto, decidimos realizar de manera
independiente los dos primeros incisos, los cuales representaban una
dificultad menor en comparación al tercero, el cual hicimos en conjunto
haciendo uso de herramientas que serán de mucha utilidad en la
industria, tales como repositorios de git y plataformas online como
github.
Referencias. 
[Solucionado] Cómo determinar si un bash variable             
está vacía? | bash
Operaciones Aritméticas y la Lógica en Bash - PC Resumen
30 ejemplos para el comando Awk en el procesamiento de                   
texto - Like Geeks
https://www.mclibre.org/consultar/htmlcss/css/css-fuentes
- web.html
https://www.lawebdelprogramador.com/foros/HTML/1208789
- mostrar-un-archivo-gif.html
https://crontab.guru/every-10-minutes
https://docs.oracle.com/cd/E24842_01/html/E23086/sysrescr
o n-12.html
https://www.redeszone.net/2017/01/09/utilizar-cron-crontab- 
linux-programar-tareas/
https://manualesjoomla.es/blog/86-tareas-programadas-cron- 
en-tu-servidor
Curso: servidor web Apache 2.4 - PLEDIN 3.0
PHP: $_GET – Manual
Virtual Host crear paginas
https://unix.stackexchange.com/questions/32626/split-a-file- 
by-line-and-have-control-over-resulting-files-extension
https://lists.gnu.org/archive/cgi- 
bin/namazu.cgi?query=split&max=20&result=normal&sort=da 
tehttp://www2.iib.uam.es/bioinfo/curso/perl/so/archivando.ht
m
%3Alate&idxname=coreutils&idxname=bug- 
coreutils&submit=Search+Mailing+Lists 
https://baulderasec.wordpress.com/apuntes/linux/explorar- 
herramientas-linea-de-comandos/1-6-procesar-texto- 
empleando-filtros/1-6-4-comandos-de-transformacion-de- 
ficheros/comando-split/
https://travesuras.wordpress.com/2010/10/05/20101005-1/
http://www2.iib.uam.es/bioinfo/curso/perl/so/archivando.htm
Listas en HTML: listas de definición
https://www.dbigcloud.com/sistemas-operativos/112-como
- empaquetar-desempaquetar-y-comprimir-en-linux.html
python con apache2 WEBSERVER – YouTube
Tutorial — Mod_python v3.5.0-3.5.0 documentation
cómo ejecutar un archivo .sh desde php?
https://baulderasec.wordpress.com/2017/06/06/no-puedo- 
copiar-carpetas-ni-archivos-en-mi-usb/
https://geekland.eu/montar-la-memoria-usb-en-la-terminal/
https://websetnet.net/es/how-to-list-usb-devices-on-ubuntu
- find-usb-device-name-on-linux-ubuntu/
https://www.tecmint.com/auto-backup-files-to-usb-media-in- 
linux/

Más contenido relacionado

La actualidad más candente

La actualidad más candente (10)

Práctica no 9
Práctica no 9Práctica no 9
Práctica no 9
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasos
 
Servicios de impresión de gnu linux
Servicios de impresión de gnu linuxServicios de impresión de gnu linux
Servicios de impresión de gnu linux
 
Tutorial shell scripts
Tutorial shell scriptsTutorial shell scripts
Tutorial shell scripts
 
Manual de Linux
Manual de LinuxManual de Linux
Manual de Linux
 
Acceso a-base-de-datos-en-php
Acceso a-base-de-datos-en-phpAcceso a-base-de-datos-en-php
Acceso a-base-de-datos-en-php
 
03 Php. Instalacion De Php
03 Php. Instalacion De Php03 Php. Instalacion De Php
03 Php. Instalacion De Php
 
Taller plataformas tecnológicas ORACLE MSDOS Y UNIX
Taller plataformas tecnológicas ORACLE MSDOS Y UNIXTaller plataformas tecnológicas ORACLE MSDOS Y UNIX
Taller plataformas tecnológicas ORACLE MSDOS Y UNIX
 
2 filesystem basics
2 filesystem basics2 filesystem basics
2 filesystem basics
 
Tutorial0
Tutorial0Tutorial0
Tutorial0
 

Similar a Documentacion Final Proyecto UNIX

Similar a Documentacion Final Proyecto UNIX (20)

Guia01 control versiones
Guia01 control versionesGuia01 control versiones
Guia01 control versiones
 
Nachos sistema operativo
Nachos sistema operativoNachos sistema operativo
Nachos sistema operativo
 
Creacion de un Repositorio Local en CentOS_6.0
Creacion de un Repositorio Local en CentOS_6.0Creacion de un Repositorio Local en CentOS_6.0
Creacion de un Repositorio Local en CentOS_6.0
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Gestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniterGestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniter
 
Phpmyadmin
PhpmyadminPhpmyadmin
Phpmyadmin
 
Instalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuraciónInstalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuración
 
PHP IUTE
PHP IUTEPHP IUTE
PHP IUTE
 
Curso de php
Curso de phpCurso de php
Curso de php
 
633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo
 
Tutorial mysqlphp
Tutorial mysqlphpTutorial mysqlphp
Tutorial mysqlphp
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
633f9e tutorial de php y my sql completo (1)
633f9e tutorial de php y my sql completo (1)633f9e tutorial de php y my sql completo (1)
633f9e tutorial de php y my sql completo (1)
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
Php andmysql (1)
Php andmysql (1)Php andmysql (1)
Php andmysql (1)
 
Php andmysql
Php andmysqlPhp andmysql
Php andmysql
 
Hilo de ejecución
Hilo de ejecuciónHilo de ejecución
Hilo de ejecución
 
Apendice a
Apendice aApendice a
Apendice a
 

Último

PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 

Último (7)

PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 

Documentacion Final Proyecto UNIX

  • 2. Descripción del proyecto.  ProcessX (Control de procesos): https://github.com/DevelopMoy/ProcessX Script de consola diseñado para gestionar los procesos de una manera sencilla, el script tiene un menú para ser controlado de una manera mas intuitiva y amigable para el usuario. El script tiene las siguientes funciones: Crear Proceso: Crea un proceso con el nombre indicado. Matar Proceso: Te permite matar el proceso por nombre, uso de RAM o uso de CPU. Mostrar Procesos: Proporciona una lista de todos los procesos actuales ordenados por PID. Buscar Proceso: Te permite ingresar un nombre para ubicar el PID de el proceso. AutoKill: Utilidad para escanear procesos en tiempo real, dado un margen de carga para el CPU, parara todos los procesos que incumplan dicho limite. Configuración: Es necesario iniciar el script como super-usuario debido a los permisos que requiere la gestion de procesos. Manual del script: -Seleccione el número de opción para abrir las opciones internas.
  • 3. -Podemos crear procesos desde el script sin necesidad de salir a consola. -Así mismo contamos con una opción para mostrar los procesos actuales en modo listado. -Así mismo podemos buscar un proceso por nombre con la opción LookForAProcess.
  • 4. -Podemos elegir entre diferentes opciones para eliminar un proceso, asi mismo, tenemos la opción de auto-escanear para evitar que el sistema ocupe mucha carga del procesador. -Aqui ingresamos el limite de carga para el procesador, es decir, a partir de este valor se matara cualquier proceso que sobrepase dicho limite.
  • 5. - Al darle enter, estará corriendo el script, para finalizar presionamos ctrl+c. C​RON (respaldo): ​Esta parte del proyecto inicia respaldando una carpeta, desde un script bash, para posteriormente agregar este script a la tabla cron para que se ejecute cada cierto tiempo, en este caso cada 10 minutos. Después de hacer el respaldo, otro script se encargará de empaquetar la carpeta, mediante .tar.gz, y ese mismo script se encargará de mandar a una Unidad Externa, este script se ejecutará cada 5 min, al igual que el anterior se agrega a la tabla cron para que esté programada la tarea, por ultimo en este script también sé dividirá el archivo en 3 y nombrando con el formato proyectoUNIX_UNO_FECHA.tar.gz,proyectoUNIX_DOS_FECHA.tar.g z, proyectoUNIX_TRES_FECHA.tar.gz. Pasos de configuración: Para los scripts se usó vi y para agregar los scripts al cron tab, se utilizó el comando crontab -e, agregando la linea segun los minutos programados y la dirección del script. Explicación de Scripts y Proceso: Primer Script: Respaldo Se crea la carpeta donde quedarán los respaldos:
  • 6. Los Scripts están alojados en la siguiente dirección: El primero “respaldo.sh” : Usa el comando “cp” para copiar el contenido del directorio /var/www/, asi como el comando date para darle formato al nombre del archivo se se creará. El segundo Script “divide.sh” se encarga de empaquetar la carpeta de respaldoTOTAL, de dividirlo en en 3 y mandarlos a la unidad externa. Se declara una variable para guardar el formato de fecha Se empaqueta con el comando tar y el empaquetado tiene un nombre provisional “re.tar.gz” Se procede a dividirlo en 3 partes, las cuales tendrán el prefijo “x” en la misma carpeta.
  • 7. Se elimina el archivo provisional. Se declará una variable con el nombre de la unidad externa. Se va a mover la primera parte del archivo dividido a la carpeta actual ya con el nombre formateado como se pidió para posteriormente mandarla a la unidad externa. Se repite el proceso para las otras 2 partes. Se eliminan los archivos provicionales creados para evitar sobre carga. Para concluir esta parte del proyecto se incluyen ambos scripts a la crontab, abriendola con el comando crontab y el argumento “-e”.
  • 8. Pagina web con formulario: ​Esta parte del proyecto incluye una pagina que esta alojada en un servidor virtual de Apache, utiliza las tecnologías PHP, python, HTML5 y CSS3 para lo visual. La pagina tiene varios apartados que fueron personalizados para una interacción amigable e intuitiva con el usuario. Su función principal es la de enviar un formulario el cual sera procesado gracias a la interacción PHP-Python y creara varios directorios dentro del servidor local para después ser consultados. Manual Codigo Pagina Web: -El script acces.py contiene el codigo necesario para recibir los datos enviados por el formulario, así mismo, crea sus respectivos directorios y el archivo de texto para la manipulación de datos. -A continuación se muestra el script consulta2.py, el cual recopila la información de los archivos creados previamente y los muestra en pantalla
  • 9. -Todos los estilos fueron escritos con CSS3 Y HTML5.
  • 10. Temas investigados para el proyecto:  -​Comando Awk usos comunes y sintaxis. -Configuración de un servidor apache. -Instalación de módulos Apache. -Utilización de comandos para monitorización de procesos. -Compresión y empaquetado de archivos con tar y tar.gz. -Manejo de archivos con Python. -Nuevas etiquetas de HTML5. -Concatenación de la salida del comando en codigo bash. -Estilos utilizando css3. -Comando split para dividir archivo. -Varios comandos de bash para controlar el flujo de datos en la consola.                          
  • 11. Bitacora y trabajo:  ProcessX (Moises Alvarez):  Realización de boceto sin interfaz de consola, el cual podia iniciar un proceso dado por un argumeto del script. Creación de menú el cual contiene varias funciones que posteriormente serán programadas para darle la funcionalidad completa. Opción para iniciar algún proceso programada, así mismo se valido en la opción para matar procesos que se ingresaran valores correctos, todo esto pasando una serie de filtros con ayuda de condicionales y el comando grep y awk. Completadas las opciones de iniciar y matar proceso, aun faltan algunas validaciones para que no colapse el script. Reparación de bugs y errores minimos. Opciones para visualizar todos los procesos, esto sirve de guia para las anteriores opciones ya programadas. Despues de mostrarle al profesor el avance me sugirio incorporar una nueva función que escanea el sistema en busca de procesos pesados y los elimina. Se incorpora dicha función ingresando un limite a partir del cual comenzará a detener los procesos no deseados, así mismo se puede modificar la frecuencia de busqueda en el codigo. Así mismo, incluyo link del repositorio del proyecto, el cual contiene los commits hechos a lo largo de la creación del script: https://github.com/DevelopMoy/ProcessX/commits/master -CRON (Jorge Avila):   
  • 12. Para la realización del proyecto empecé investigando acerca del CRON, y CRON TAB, para saber como programar las tareas, después empece realizando las carpetas para realizar correcto lo que se pide, tales como la carpeta respaldoTOTAL, cuando ya las tenía ya podía hacer mis scripts, empecé con el script que realiza el respaldo, el cual solo es copiar el contenido de una carpeta a otra, esto solo se me complico en el formato del nombre del archivo. Ya teniendo el script lo agregué al cron tab para que se realizara cada 10 min, hice pruebas poniendo que se hiciera cada minuto y al ver buenos resultados, lo regresé a 10 min. El segundo script dependía de los archivos que generaba el respaldo, entonces lo primero fue investigar como se empaquetaba un archivo, ya teniendo el archivo empaquetado solo quedaba dividirlo, para ello encontré el comando split que me funcionaba perfectamente, entonces con ayuda de este, el script ya dividía el archivo ( ya empaquetado) y al momento de que el script manda los archivos a la USB, se cambiaba el nombre de los tres archivos para que tuvieran el formato que se pide. -Pagina Web (Jorge Avila, Moises Alvarez):  Comenzamos instalando el servidor Apache con los comandos correspondientes, apoyándonos en la clase del profesor, posteriormente creamos el esqueleto principal unicamente con php y html. Despues de ya tener el formulario creado tuvimos que encontrar el mejor modulo o framework de python que se adecuara para nuestras necesidades, despues de investigar, encontramos un modulo llamado python_mod el cual requería unas configuraciones especiales dentro de la carpeta /etc/apache2. Después creamos toda la maqueta de la web con HTML y creamos la lógica principal de los 2 scripts de python, los cuales incluyen los scripts que manipularan todos los archivos y directorios necesarios. Al final creamos con ayuda de estilos en CSS3 una interfaz amigable para el usuario, creando 4 pestañas diferentes en las cuales el usuario puede interactuar de la siguiente forma: ver una portada la cual le da la bienvenida al usuario, ir directo al formulario debidamente validado para evitar errores humanos, consultar la información ingresada y guardada
  • 13. en el server local, ver la documentación la cual esta incrustada en un visor de pdf a través de una etiqueta de HTML5 y por ultimo los creditos del proyecto. -Conclusiones:  Con la realización de este proyecto, podemos concluir que el sistema operativo basado en LINUX/UNIX, nos da herramientas que nos ayudan a asegurar nuestros archivos, tanto como el respaldo como la programación de tareas, ya que en un ambiente real de servidores, sera indispensable tener a salvo los archivos y tener tareas que ayudan igualmente a la seguridad del servidor. En la programación de la página concluimos que apache nos da un sin fin de posibilidades las cuales podemos aprovechar para hacer proyectos muy buenos, también con la utilización de HTML pudimos darnos una idea de lo que veremos en próximos semestres, ya que es una base muy importante. Así mismo el trabajo en equipo fue una base sumamente importante en la construcción del proyecto, decidimos realizar de manera independiente los dos primeros incisos, los cuales representaban una dificultad menor en comparación al tercero, el cual hicimos en conjunto haciendo uso de herramientas que serán de mucha utilidad en la industria, tales como repositorios de git y plataformas online como github.
  • 14. Referencias.  [Solucionado] Cómo determinar si un bash variable              está vacía? | bash Operaciones Aritméticas y la Lógica en Bash - PC Resumen 30 ejemplos para el comando Awk en el procesamiento de                    texto - Like Geeks https://www.mclibre.org/consultar/htmlcss/css/css-fuentes - web.html https://www.lawebdelprogramador.com/foros/HTML/1208789 - mostrar-un-archivo-gif.html https://crontab.guru/every-10-minutes https://docs.oracle.com/cd/E24842_01/html/E23086/sysrescr o n-12.html https://www.redeszone.net/2017/01/09/utilizar-cron-crontab-  linux-programar-tareas/ https://manualesjoomla.es/blog/86-tareas-programadas-cron-  en-tu-servidor Curso: servidor web Apache 2.4 - PLEDIN 3.0 PHP: $_GET – Manual Virtual Host crear paginas https://unix.stackexchange.com/questions/32626/split-a-file-  by-line-and-have-control-over-resulting-files-extension https://lists.gnu.org/archive/cgi-  bin/namazu.cgi?query=split&max=20&result=normal&sort=da  tehttp://www2.iib.uam.es/bioinfo/curso/perl/so/archivando.ht m %3Alate&idxname=coreutils&idxname=bug-  coreutils&submit=Search+Mailing+Lists  https://baulderasec.wordpress.com/apuntes/linux/explorar-  herramientas-linea-de-comandos/1-6-procesar-texto-  empleando-filtros/1-6-4-comandos-de-transformacion-de-  ficheros/comando-split/
  • 15. https://travesuras.wordpress.com/2010/10/05/20101005-1/ http://www2.iib.uam.es/bioinfo/curso/perl/so/archivando.htm Listas en HTML: listas de definición https://www.dbigcloud.com/sistemas-operativos/112-como - empaquetar-desempaquetar-y-comprimir-en-linux.html python con apache2 WEBSERVER – YouTube Tutorial — Mod_python v3.5.0-3.5.0 documentation cómo ejecutar un archivo .sh desde php? https://baulderasec.wordpress.com/2017/06/06/no-puedo-  copiar-carpetas-ni-archivos-en-mi-usb/ https://geekland.eu/montar-la-memoria-usb-en-la-terminal/ https://websetnet.net/es/how-to-list-usb-devices-on-ubuntu - find-usb-device-name-on-linux-ubuntu/ https://www.tecmint.com/auto-backup-files-to-usb-media-in-  linux/