Rotera ZFS snapshots i FreeBSD: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
mNo edit summary
 
(6 intermediate revisions by the same user not shown)
Line 5: Line 5:
Senaste version kan alltid hämtas via följande repository (kräver Gerrit-konto):
Senaste version kan alltid hämtas via följande repository (kräver Gerrit-konto):


{{Cmd|git clone ssh://kerwien.homeip.net:29418/zfs-autosnap.git}}
{{Cmd|git clone ssh://gerrit.kerwien.se:29418/zfs-autosnap.git}}


Logga in som root och kopiera skriptet till /root/bin/. Gör sen skriptet exekverbart:
Logga in som root och kopiera skriptet till /usr/local/sbin/. Gör sen skriptet exekverbart:
{{RootCmd|chmod u+x /root/bin/zfs-autosnap.sh}}
{{RootCmd|chmod u+x /usr/local/sbin/zfs-autosnap.sh}}
Skriptet kräver bash för att fungera.


== Crontab ==
== Crontab ==
Line 15: Line 16:


{{bc|1=
{{bc|1=
@hourly /root/bin/zfs-autosnap.sh hourly
@hourly /usr/local/sbin/zfs-autosnap.sh hourly
@daily /root/bin/zfs-autosnap.sh daily
@daily /usr/local/sbin/zfs-autosnap.sh daily
@weekly /root/bin/zfs-autosnap.sh weekly
@weekly /usr/local/sbin/zfs-autosnap.sh weekly
}}
}}


Line 35: Line 36:
{{RootCmd|<nowiki>zfs set org.freebsd:snap:daily=7 trunk/home/peter</nowiki>}}
{{RootCmd|<nowiki>zfs set org.freebsd:snap:daily=7 trunk/home/peter</nowiki>}}


[[Category:FreeBSD]]
[[Category:Guide]]

Latest revision as of 19:44, 3 December 2015

Denna guide beskriver hur man automatiskt roterar snapshots på ZFS system.

Snapshot skript

Senaste version kan alltid hämtas via följande repository (kräver Gerrit-konto):

Logga in som root och kopiera skriptet till /usr/local/sbin/. Gör sen skriptet exekverbart:

root # chmod u+x /usr/local/sbin/zfs-autosnap.sh

Skriptet kräver bash för att fungera.

Crontab

För att automatiskt rotera varje timme, dagligen och varje vecka, kör kommandot crontab och lägg till följande rader:

@hourly /usr/local/sbin/zfs-autosnap.sh hourly
@daily  /usr/local/sbin/zfs-autosnap.sh daily
@weekly /usr/local/sbin/zfs-autosnap.sh weekly

Kom ihåg att default PATH för cronjob är:

PATH = /bin:/usr/bin

Så för att kunna köra kommandon som zfs, krävs att även /usr/sbin finns med i PATH:en.

Rotera snapshots

För att rotera snapshots på ett ZFS filsystem, sätter man egenskapen: org.freebsd:snap:{hourly|daily|weekly}=<count>. Antal snapshots innan rotering, styrs via <count> variabeln. Sätts t.ex. värdet till 7, kommer snapshots 7 st snapshots sparas innan äldre raderas.

Exempel: Skapa snapshots av trunk/home/peter dagligen, spara 7 stycken innan den äldsta raderas:

root # zfs set org.freebsd:snap:daily=7 trunk/home/peter