tar Backup Skript

Wenn man einen Server betreibt, der nicht vom Hoster regelmäßig gesichert wird, macht es Sinn, seine Daten zumindest mit tar selbst zu sichern und extern abzulegen.

 

Dazu hier ein kleines tar Skript.

Extern ablegen geht am einfachsten, wenn man das exterrne Laufwerk mounted und gleich dorthin sichert.

 

 #!/bin/bash  # Backuppfad definieren  BPATH="/mnt/backup"  # Exclude leeren bzw leer erstellen falls noch vorhanden echo "" > /tmp/exclude.txt  # Mount externes Laufwerk # mount -t nfs ... # anpassen für NFS Share # mount -t cis ... # anpassen für Samba/Windows Share mount $BPATH  # Dateien nach Endung vom Backup ausschließen. zb. wenn man bestimmte Filetypen nicht extra sicher muss, das sie anderswo noch vorhanden sind. #find /var -name *.mkv > /tmp/exclude.txt #find /var -name *.avi >> /tmp/exclude.txt #find /var -name *.rar >> /tmp/exclude.txt #find /var -name *.mp4 >> /tmp/exclude.txt   # Datein ab eine bestimmten Größe ausnehmen find / -size +500M |grep -v mysql >> /tmp/exclude.txt  # Pfade die nicht notwendig sind ausnehmen echo /proc >> /scripts//tmp/exclude.txt echo /dev >> /scripts//tmp/exclude.txt echo /run >> /scripts//tmp/exclude.txt echo /sys >> /scripts//tmp/exclude.txt echo /tmp >> /scripts//tmp/exclude.txt echo /lost+found >> /scripts//tmp/exclude.txt echo $BPATH >> /scripts//tmp/exclude.txt  # Pfade die man persönlich ausnehmen möchte echo /var/www/html/nextcloud/data >> /scripts//tmp/exclude.txt echo /var/lib/mysql >> /scripts//tmp/exclude.txt # Mysql wird mit mysqldump gesichert und diese Files werden im tar nicht exkludiert echo /root/.cache >> /scripts//tmp/exclude.txt echo /var/chache >> /scripts//tmp/exclude.txt echo /usr/share/man >> /scripts//tmp/exclude.txt  # Lösche tar Backups älter als 7 Tage find $BPATH/ -mtime +7 -exec rm {} \;  # Backup erstellen tar -cvpzf $BPATH/backup_$(date +%d%m%y).tgz --exclude-from=/tmp/exclude.txt /  # Temporäres exclude File löschen rm -f /tmp/exclude.txt

{jcomments on}

Kommentar verfassen

Christian Hummel