10-03-2014, 12:41
Eftersom jeg har hørt, at der er nogle garvede IT-mænd herinde ville jeg gerne høre jeres mening om denne sag.
I øjeblikket har jeg en meget simpel backup procedure. Det hele kommer i en tarball med dato på og bliver krypteret med min GPG nøgle. Problemet er bare at det hele ligger på min NAS, der ikke er specielt pålidelig og i øvrigt er ved at løbe tør for plads.
Af den grund har jeg købt en backup server, og så kunne jeg godt tænke mig at få lidt mere automatik i det hele.
Jeg har dog et lille problem.
Permissions ser sådan her ud, og skal gerne bevares når data bliver genoprettet.
Her er mit forslag til et backup script. Filerne bliver flyttet og får skiftet tilladelser når de lander på backup serveren så brugeren "remote" ikke kan slette eller hente dem igen. Dvs. al restore skal foregå fra backup serveren. Dette er naturligvis for at undgå at folk der har fået adgang til produktionsserveren også får adgang til mine andre servere og heller ikke kan ødelægge mine sikkerhedskopier.
I øjeblikket har jeg en meget simpel backup procedure. Det hele kommer i en tarball med dato på og bliver krypteret med min GPG nøgle. Problemet er bare at det hele ligger på min NAS, der ikke er specielt pålidelig og i øvrigt er ved at løbe tør for plads.
Af den grund har jeg købt en backup server, og så kunne jeg godt tænke mig at få lidt mere automatik i det hele.
Jeg har dog et lille problem.
Permissions ser sådan her ud, og skal gerne bevares når data bliver genoprettet.
Kode:
drwxr-x--- 13 user1 user1 4096 Dec 18 01:26 user1
drwxr-x--- 10 user2 user2 4096 Mar 10 00:53 user2
drwxr-x--- 10 user3 user3 4096 Mar 03 20:11 user3
drwxr-x--- 11 user4 user4 4096 Jan 20 23:40 user4
Her er mit forslag til et backup script. Filerne bliver flyttet og får skiftet tilladelser når de lander på backup serveren så brugeren "remote" ikke kan slette eller hente dem igen. Dvs. al restore skal foregå fra backup serveren. Dette er naturligvis for at undgå at folk der har fået adgang til produktionsserveren også får adgang til mine andre servere og heller ikke kan ødelægge mine sikkerhedskopier.
Kode:
today=$(date +%Y.%m.%d)
filename="$(hostname)-$today"
/bin/nice -n 5 mysqldump -u root -password=yeahitssecretyaknow > /home/database.sql
/bin/nice -n 5 tar -cjf /var/backup/$filename.tar.bz2 /home/*
rm /home/database.sql
scp -Bpi /home/backup/.ssh/id_rsa /var/backup/$filename.tar.bz2 remote@backup.domain.com:/home/remote/