SWick

Sysadmin-by-Nature

Entries tagged "backup".

Automatisches Backup von gespiegelten MS-SQL 2005 Datenbanken
15th April 2009

Problem

In einem MS-SQL 2005 Mirroring Setup können Datenbanken auf dem MIRROR nicht angesprochen werden und somit kann ein Backup nur auf dem PRINCIPAL stattfinden. Ein Job im SQL-Server-Agent würde bei einem Failover nicht mehr funktionieren.

Lösung A

If Exists (Select * from sys.database_mirroring where database_id=yourdbid and mirroring_role=1)
Backup database dbname to disk='Path\filename.bak' With INIT

Lösung B

Macht ein Backup aller Datenbanken außer den Systemdatenbanken und Datenbanken, die nicht angesprochen werden können.

DECLARE @DBName varchar(255)

DECLARE @DATABASES_Fetch int

DECLARE DATABASES_CURSOR CURSOR FOR
    select
        DATABASE_NAME   = db_name(s_mf.database_id)
    from
        sys.master_files s_mf
    where
       -- ONLINE
        s_mf.state = 0 

       -- Only look at databases to which we have access
    and has_dbaccess(db_name(s_mf.database_id)) = 1 

        -- Not master, tempdb or model
    and db_name(s_mf.database_id) not in ('Master','tempdb','model')
    group by s_mf.database_id
    order by 1

OPEN DATABASES_CURSOR

FETCH NEXT FROM DATABASES_CURSOR INTO @DBName

WHILE @@FETCH_STATUS = 0
BEGIN
    declare @DBFileName varchar(256)    
    set @DBFileName = datename(dw, getdate()) + ' - ' + 
                       replace(replace(@DBName,':','_'),'\','_')

    exec ('BACKUP DATABASE [' + @DBName + '] TO  DISK = N''c:\db backup\' + 
        @DBFileName + ''' WITH NOFORMAT, INIT,  NAME = N''' + 
        @DBName + '-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 100')

    FETCH NEXT FROM DATABASES_CURSOR INTO @DBName
END

CLOSE DATABASES_CURSOR
DEALLOCATE DATABASES_CURSOR

Hier macht es vor allem die Funktion has_dbaccess möglich, dass der Job auch auf dem MIRROR laufen kann und das Backup nach einem Failover weiter funktioniert.

Tags: backup, db, mssql, tsql.
Backup pfSense Config with Rsnapshot
14th June 2013

Tja, seit letztem Wochenende gibt's unsere Astaro nicht mehr. Nur die Hardware lebt davon noch weiter. "Astaro" steht zwar noch drauf, aber pfSense ist drin :-)

Im pfSense Wiki gibt es eine Script Vorlage, wie man ein Remote Backup machen kann

Ich hab's für mich etwas angepasst und ins globale rsnapshot Backup eingebunden:

Backup Benutzer anlegen

Damit sich das Shellscript nicht mit dem Admin Benutzer auf der pfSense einlogged, reicht ein normaler Benutzer, der nur Zugriff auf WebCfg - Diagnostics: Backup/restore page hat:

Backup Script

Das Shellscript speichert neben der kompletten Config jeweils separat nochmal die einzelnen Sektionen wie z.B. nur die VLAN Einstellungen:

/root/scripts/pfSense/backup-pfSense.sh

#!/bin/bash

AREAS="dhcpd filter interfaces ipsec nat installedpackages pptpd cron system sysctl snmpd vlans"
URL="https://192.168.94.1:4444/diag_backup.php"
USER="backup"
PASSWORD="secret"

# Removing created cookie file in unexpected bash exit

trap 'rm cookies.txt' EXIT

# Login and save cookie 

wget -qO/dev/null --keep-session-cookies --save-cookies cookies.txt \
 --post-data "login=Login&usernamefld=$USER&passwordfld=$PASSWORD" \
 --no-check-certificate "$URL"

# Backup all areas in a single XML file

 wget --keep-session-cookies --load-cookies cookies.txt \
 --post-data "Submit=download&donotbackuprrd=yes" "$URL" \
 --no-check-certificate -O config-pfSense-`date +%Y-%m-%d`-ALL.xml

# Backup all areas in a single XML file including RRD data

 wget --keep-session-cookies --load-cookies cookies.txt \
 --post-data "Submit=download" "$URL" \
 --no-check-certificate -O config-pfSense-`date +%Y-%m-%d`-ALL-with-RRD.xml


# Backup selected areas in separate XML files

for AREA in $AREAS

do

 wget --keep-session-cookies --load-cookies cookies.txt \
 --post-data "Submit=download&donotbackuprrd=yes&backuparea=$AREA" "$URL" \
 --no-check-certificate -O config-pfSense-`date +%Y-%m-%d`-"$AREA".xml

done

Hinten fällt dann sowas raus:

Einbinden in /etc/rsnapshot.conf

...
backup_script   /root/scripts/pfSense/backup-pfSense.sh pfSense/
...
Tags: backup, pfsense.

RSS Feed

"People said I should accept the world. Bullshit! I don't accept the world." -- Stallman