Comandos para realizar copias de seguridad o de respaldo. Puede hacerse para todo el sistema, para una parte, una carpeta, etc… además es posible programarlo mediante “cron” para que nos haga una copia de seguridad periódicamente.
Copias de Seguridad en linux desde terminal
Tabla de comandos para copias de seguridad
En la siguiente tabla se muestran algunos ejemplos completos con sus descripciones para poder realizar copias de seguridad o Backups tanto en local, medio de almacenamiento externo y además (puede que incluso más importante) en medios remotos como un disco duro NAS o un servidor de cualquier tipo en la red interna o externa.
Comandos | Descripción |
---|---|
dump -0aj -f /tmp/home0.bak /home | Salvar todo el directorio ‘/home’ |
dump -1aj -f /tmp/home0.bak /home | Salvar de forma incremental el directorio ‘/home’ |
restore -if /tmp/home0.bak | Restaurando una salva interactivamente |
rsync -rogpav –delete /home /tmp | Sincronización entre directorios |
rsync -rogpav -e ssh –delete /home ip_address:/tmp | Rsync a través del túnel SSH |
rsync -az -e ssh –delete ip_addr:/home/public /home/local | Sincronizar un directorio local con un directorio remoto a través de ssh y de compresión |
rsync -az -e ssh –delete /home/local ip_addr:/home/public | Sincronizar un directorio remoto con un directorio local a través de ssh y de compresión |
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ | Hacer una salva de un disco duro en un host remoto a través de ssh. |
dd if=/dev/sda of=/tmp/file1 | Salvar el contenido de un disco duro a un fichero. (En este caso el disco duro es “sda” y el fichero “file1”) |
tar -Puf backup.tar /home/user | Hacer una salva incremental del directorio ‘/home/user’ |
tar -czv –exclude=/root/dir1/* -f /var/salvas/cfg_$(date +%F_%H%M).tgz /etc /root | Salvar los directorios /etc y /root (excluyendo el contenido del subdirectorio /root/dir1/) en un archivo comprimido, cuyo nombre contenga la fecha y hora actual |
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ | Copiar el contenido de un directorio en un directorio remoto a través de ssh. |
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ | Copiar un directorio local en un directorio remoto a través de ssh |
tar cf – . | (cd /tmp/backup ; tar xf – ) | Copia local conservando las licencias y enlaces desde un directorio a otro |
find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents | Encontrar y copiar todos los ficheros con extensión ‘.txt’ de un directorio a otro |
find ~/ -type f -not -iname ‘*.mp*’ -not \( -iregex ‘.*\.mozilla/.*’ -o -iregex ‘.*\.thumbnails/.*’ \) -prune -mtime 14 -print0 | xargs -0 tar -czf /var/salvas/myhome.tgz | Realizar una salva de todos los archivos de nuestro perfil de usuario modificados dentro de los últimos 14 días, exceptuando los archivos mp3, mpg y similares, y los directorios .mozilla/ y .thumbnails/ |
find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 | Encontrar todos los ficheros con extensión ‘.log’ y hacer un archivo bzip |
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 | Hacer una copia del MRB (Master Boot Record) a un disco floppy |
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 | Restaurar la copia del MBR (Master Boot Record) salvada en un floppy |
Para nota, automatizar en el cron y que no pida la clave (pista comando sshpass…)
Esta muy bien la chuleta…
Un saludo