LinuxParty
Aunque tenemos multitud de scripts ya creados con este propósito en nuestra sección de Scriptings, y otros más en la sección de Seguridad, que deberían estar más allí (en Scripting) que en ningún otro lado, voy a compartir con vosotros el script de copias de seguridad que yo utilizo para guardar casi todo lo importante.
Tengo que decir, que como es un script, es bastante configurable, editando el código, claro. El cual he tratado de que sea bastante legilble a mi humilde entender.
El funciomiento es muy simple:
- Copias el código en un "/bin" que crees en tu $HOME, o lo copias en /usr/local/bin
- montas un pendrive, creas una carpeta y desde allí, desde la shell
- Llamas al script "copiacompleta2" y sigues las instrucciones y ya está.
Con eso, tendrás en tu pendrive en una carpeta una copia comprimida en tar gzip el contenido más relevante de tu sistema.
Yo utilizo KDE, por lo que si usas otro entorno menos común, tendrás que adaptarlo a él.
Este es sl script:
#!/bin/bash # # Script "copiacompleta2" ver.4.21 creado por EXTREHOST y LinuxParty por Javier Orovengua # # Fecha de la creación Diciembre de 2016, autoadaptable al nombre de usuario. # Fecha de la última actualización: 22 Diciembre, 2022. # # Extraemos el sufijo de la copia, la fecha ordenado en Año-Mes-Día suffix=$(date +%Y-%m-%d) # # El script "automysqlbackup", debe estar instalado. mire el artículo: # http://www.linux-party.com/89-basesdedatos/9517-crear-copias-de-seguridad-backups-de-mariadb-o-mysql-automaticas-con-automysqlbackup
RUNAUTOMYSQLBACKUP="/usr/local/bin/automysqlbackup" BACKUPDEUSRLOCALBIN="tar cvfz bkp-usrlocalbin-$suffix.tgz /usr/local/bin" BACKUPDEVARWWWHTML="tar cvfz bkp-varwwwhtml-$suffix.tgz /var/www/html" # BACKUPDELCRONTAB="sudo cat /var/spool/cron/$USER ; sudo cat /var/spool/cron/$USER > $HOME/crontab-$suffix.ini ; dir $HOME/crontab*"
clear
echo "Preparando..." echo " " echo "El script debe ejecutarse desde consola EN el directorio donde se va a realizar" echo "la copia de seguridad, y el script guardarlo en el PATH, por ejemplo en el " echo "directorio: /usr/local/bin." echo " " echo "P.Ej.: monta una unidad, abre una terminal y desde ella usa * copiacompleta2.sh *" echo "---------------------------------------------------" echo "Este script sólo creará un backup del HOME del usuario que lo ejecute, y deberá" echo "editarse el código fuente del mismo para excluir explícitamente los directorios" echo "que NO se añadirán a la copia." echo " " echo "Si es novato, vea el Tutorial de Linux, en la sección de archivos para ampliar" echo "documentación y conocimientos: http://www.linux-party.com/TutorialLinux/" echo " " # Contador for i in {1..5}; do echo -n " $i " ; sleep 1 ; done echo "" # Comprobamos si estamos en modo gráfico o en consola, tan fácil como comprobar una variable. if [ "$DISPLAY" == "" ] ; then estamos="Estamos en Consola" ; MYRUN=0 ; else estamos="Estamos en modo gráfico" ; MYRUN=1 ; fi if [ "$MYRUN" == "1" ] ; then kdialog --sorry "Para realizar algunas copias es necesario que el usuario sea un\nusuario administrador, para cual deberá introducir su clave.\n\n\nTrataremos de hacer copia de seguridad de las BBDD MySQL/MariaDB\ntratando de ejecutar:\n\n /usr/local/bin/automysqlbackup " echo "Variable de MYRUN: " $MYRUN echo "Asignando Askpass" echo $estamos # export SUDO_ASKPASS=/usr/bin/ksshaskpass # sudo -A $RUNAUTOMYSQLBACKUP echo "===================================================" echo "Nos aseguraremos que la aplicación $SUDO_ASKPASS funcionó correctamente" echo "si la siguiente línea se ejecuta sin necesidad de pedir nuevamente el pass" echo "de pedirla, ejecutela para que funcione." echo "===================================================" # sudo $RUNAUTOMYSQLBACKUP echo "Hacemos un Backup del Crontab..." # $BACKUPDELCRONTAB sudo cat /var/spool/cron/$USER ; sudo cat /var/spool/cron/$USER > $HOME/crontab-$suffix.ini ; dir $HOME/crontab* echo "Hecho... Mostrando..." for i in {1..6}; do echo -n " $i " ; sleep 1 ; done cat $HOME/crontab-$suffix.ini echo "Comienza la copia..." for i in {1..6}; do echo -n " $i " ; sleep 1 ; done echo "" fi if [ "$MYRUN" == "0" ] ; then echo "Parte del modo Texto" echo "Variable de MYRUN: " $MYRUN print "Para realizar algunas copias es necesario que el usuario sea un\nusuario administrador, para cual deberá introducir su clave.\n\n\nTrataremos de hacer copia de seguridad de las BBDD MySQL/MariaDB\ntratando de ejecutar:\n\n /usr/local/bin/automysqlbackup" echo $estamos sudo $RUNAUTOMYSQLBACKUP ECHO "Hacemos un Backup del Crontab..." $BACKUPDELCRONTAB echo "Hecho... Mostrando..." # Contador for i in {1..3}; do echo -n " $i " ; sleep 1 ; done cat $HOME/crontab-$suffix.ini echo "Comienza la copia..." # Contador for i in {1..5}; do echo -n " $i " ; sleep 1 ; done echo "" fi echo "Esperamos 5 segundos" for i in {1..5}; do echo -n " $i " ; sleep 1 ; done echo "" # Con ésta variable forzaremos que la copia se guarde allí donde estemos, de esta forma # si llamamos al script desde un disco duro extraible externo, la copia se quedará en dicho # disco duro extraible externo. ActualPath=`pwd` echo "---------------------------------------------------" sleep 2 # Obtenemos la fecha de hoy en la variable "suffix" suffix=$(date +%Y-%m-%d) # Cambiamos al HOME del usuario y mostramos su contenido. cd $HOME ls -lshF --color $HOME pwd echo "Comienza la copia..." sleep 2 echo "Copiando /usr/local/bin" sleep 2 $BACKUPDEUSRLOCALBIN echo "---------------------" echo "Copiando /var/www/html" sleep 2 $BACKUPDEVARWWWHTML echo "---------------------" echo "Comienza la copia..." sleep 2 # # Hará copia de todo, excepto de lo que explícitamente se excluye. Configura a tu gusto y necesidad.
# ...Si no quieres tocar nada...
# Por ejemplo, si hubiera imágenes que quieras guardar, copialas en la carpeta Documentos, y lo mismo
# podrías hacer con la música o las descargas, lo demás, se va a excluir. # tar cvfz $ActualPath/All-$USER-$suffix.tgz \ --exclude="$HOME/.A*" --exclude="$HOME/.bz*" --exclude="$HOME/.cache" --exclude="$HOME/.d*" --exclude="$HOME/.e*" \ --exclude="$HOME/.gtk*" --exclude="$HOME/.i*" --exclude="$HOME/.j*" --exclude="$HOME/.L*" --exclude="$HOME/.o*" \ --exclude="$HOME/.p*" --exclude="$HOME/.q*" --exclude="$HOME/.s*" --exclude="$HOME/.t*" --exclude="$HOME/.v*" \ --exclude="$HOME/.x*" --exclude="$HOME/Descargas" --exclude="$HOME/DiscosVM" --exclude="$HOME/Dropbox" \ --exclude="$HOME/Downloads" \ --exclude="$HOME/dwhelper" --exclude="$HOME/encript" --exclude="$HOME/html" --exclude="$HOME/.local/share/Trash" \ --exclude="$HOME/Imágenes" --exclude="$HOME/Media" --exclude="$HOME/Música" --exclude="$HOME/Nubes" \ --exclude="$HOME/ownCloud" --exclude="$HOME/temp" --exclude="$HOME/tmp" --exclude="$HOME/Vídeos" \ --exclude="$HOME/Videos" --exclude="$HOME/Virtual*" --exclude="$HOME/WorkSpace" \ --exclude=$HOME/All-$USER-$suffix.tgz $HOME/ echo "---------------------------------------------------" echo "Copia completada." echo "---------------------------------------------------"

-
Anuncios
- La muerte súbita de futbolistas
- Longbridge - La mayor fabrica abandonada del Mundo.
- Ya es posible recorrer NY en 3D y visitar sus tiendas y museos desde casa
- Adobe mete vídeo en Flash en su formato PDF
- Reino Unido, avistamientos OVNI desclasificados, todavía no tenemos relaciones i
- Científicos mexicanos convierten el tequila en diamantes
- Hallan especie de primates parecidos a los Gremlins
- Generación Tapón: si destacas, al rincón.
- Hugo Chávez comenzará a escribir su propio blog
- El PP habría ganado las Elecciones en España.
- El Partido Pirata suizo tiene su primer alcalde
- Las personas “multitarea” rinden poco