Foros del Web » Administración de Sistemas » Unix / Linux »

Script en Linux

Estas en el tema de Script en Linux en el foro de Unix / Linux en Foros del Web. Antes de nada... buenas, soy nuevo en esto de Linux y en este foro, a ver si la gente me puede aydar en este mundillo... ...
  #1 (permalink)  
Antiguo 30/01/2005, 07:52
 
Fecha de Ingreso: enero-2005
Mensajes: 12
Antigüedad: 19 años, 3 meses
Puntos: 0
Script en Linux

Antes de nada... buenas, soy nuevo en esto de Linux y en este foro, a ver si la gente me puede aydar en este mundillo...
En clase me han mandado una práctica, que es la siguiente:
Crear un script que sea capaz de gastionar los usuarios del sistema(añadir, borrar, editar), en el programa:
- Se elagirán las opciones a través de un menú.
- En la opción editar se podrá cambiar tanto de nombre de usuario como su password e información extendida
- Debe existir la posibilidad de hacer backup de todos los ficheros relacionados con la identifición de usuario. Este backup
debe estar comprimido en formato tar.gz o tar.gz2. El programa debe preguntar el directorio desde donde se va a realizar
dicho backup. Se tiene que poder restaurar el backup.

Tengo hecho lo de modificar, añadir... usuarios, lo del backup no lo entiendo muy bien y no se hacerlo, echadme una mano
Saludos!!
  #2 (permalink)  
Antiguo 30/01/2005, 07:54
 
Fecha de Ingreso: enero-2005
Mensajes: 12
Antigüedad: 19 años, 3 meses
Puntos: 0
Esto tengo :
#!/bin/bash
variable=0;
clear
while [ true ]
do

echo "Elige una opcion:"
echo "1.- Anadir usuario"
echo "2.- Borrar usuario"
echo "3.- Rellenar usuario"
echo "4.- Asignar password"
echo "5.- Hacer backup"
echo "6.- Restarurar backup"
echo "7.- Salir"
read variable
case $variable in
1)echo "Nombre de usuario anadir:";;
2)echo "Nombre de usuario borrar:";;
3)echo "Nombre de usuario modificar:";;
4)echo "Nombre de usuario asiganr pass:";;
5)exit 0;;
esac

read user
case $variable in
1)adduser $user;;
2)userdel $user;;
3)chfn $user;;
4)passwd $user;;
5)exit 0;;
esac

done

Me falta lo de comprimir y descomprimir el backup, mas o menos se como se hace, lo que m haria falta seria meterlo en el menú...
  #3 (permalink)  
Antiguo 30/01/2005, 09:57
 
Fecha de Ingreso: enero-2005
Mensajes: 12
Antigüedad: 19 años, 3 meses
Puntos: 0
al final m hq qdado algo asi...(no vale reirse jeje):
#!/bin/bash
variable=0;
clear
while [ true ]
do

echo "Elige una opcion:"
echo "1.- Anadir usuario"
echo "2.- Borrar usuario"
echo "3.- Rellenar usuario"
echo "4.- Asignar password"
echo "5.- Hacer backup"
echo "6.- Restarurar backup"
echo "7.- Salir"
read variable

if [ $variable != 5 ] && [ $variable != 6 ]
then
read user
fi

case $variable in
1)echo "Nombre de usuario anadir:";;
2)echo "Nombre de usuario borrar:";;
3)echo "Nombre de usuario modificar:";;
4)echo "Nombre de usuario asiganr pass:";;
5)echo "Creando backup"
6)echo "Descomprimir backup"
5)exit 0;;
esac

read user
case $variable in
1)adduser $user;;
2)userdel $user;;
3)chfn $user;;
4)passwd $user;;
5)hacer_backup;;
6)restaurar_bacup;;
7)exit 0;;
esac

done

hacer_bacup(){
if [ `whoami` != "root" ]; then
echo "Solo el usuario root puede hacer copias de seguridad"
exit 1
fi

echo \#cd /tmp
echo \#rm -rf backup 2>/dev/null
echo \#mkdir backup
echo \#cp /etc/passwd /etc/group /etc/shadow /tmp/backup <-------copiamos /etc/passwd /etc/group /etc/shadow en /tmp/backup

echo -n "Usar compresion gzip o bzip2? [gzip/bzip2]"
read tipo
if [ "$tipo" != "bzip2" ]; then
* *extension="gz"
* *tipo="gzip"
else
* *extension="bz2"
* *tipo="bzip2"
fi

echo \#tar --$tipo -czf backup_users.tar.$extension backup/

echo -n "Guardar el backup en: "
read ruta

echo \#mv backup_users.tar.$extension $ruta
echo "Guardado archivo backup_users.tar.$extension en=> $ruta"
cd $dir_actual
}

restaurar_backup{
if [ `whoami` != "root" ]; then
echo "Solo el usuario root puede restaurar copias de seguridad"
exit 1
fi

echo "Restaurar backup"
echo "Restaurar ¿desde qué archivo?"
echo -n "ruta: "
read archivo

echo \#cp $archivo /tmp

echo -n "¿Qué extensión tiene? [gz/bz2]"
read tipo
if [ "$tipo" != "bz2" ]; then
* *descompresor="z"
* *tipo="gz"
else
* *descompresor="j"
* *tipo="bz2"
fi
dir_actual=`pwd`
echo \#cd /tmp
echo \#tar -$descompresorxf /tmp/backup_users.tar.$tipo
echo \#cd backup
}
  #4 (permalink)  
Antiguo 31/01/2005, 06:12
Avatar de fermar21  
Fecha de Ingreso: marzo-2004
Ubicación: San Nicolas - Bs. As.
Mensajes: 294
Antigüedad: 20 años, 1 mes
Puntos: 0
Exclamación

Hola Tortuga,

No estoy seguro, pero me parece que en la linea
Código:
echo \#tar --$tipo -czf backup_users.tar.$extension backup/
La z esta demas ya que la z es para usar gzip.

Saludos
__________________
Fernando Marinzulich
Programador Web (PHP/MySQL/Jquery)
  #5 (permalink)  
Antiguo 01/02/2005, 13:43
 
Fecha de Ingreso: enero-2005
Mensajes: 12
Antigüedad: 19 años, 3 meses
Puntos: 0
pues hice el backup ese en clase y funcionaba d maravilla pero........ se nos ha jodio el kde , no aparece por ningun laoo, alguien sabe como recuperarlo??? no se lo digo al profe q me mata
  #6 (permalink)  
Antiguo 08/02/2005, 08:00
 
Fecha de Ingreso: enero-2005
Mensajes: 12
Antigüedad: 19 años, 3 meses
Puntos: 0
lo tengo q perfeccionar pa mñn, si alguien sabe....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:42.