Rotera ZFS snapshots i FreeBSD: Difference between revisions
mNo edit summary |
m →Crontab |
||
(24 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== Snapshot skript == | == Snapshot skript == | ||
Senaste version kan alltid hämtas via följande repository (kräver Gerrit-konto): | |||
{{ | {{Cmd|git clone ssh://gerrit.kerwien.se:29418/zfs-autosnap.git}} | ||
Logga in som root och kopiera skriptet till /usr/local/sbin/. Gör sen skriptet exekverbart: | |||
{{RootCmd|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: | |||
{{bc|1= | |||
@hourly /usr/local/sbin/zfs-autosnap.sh hourly | |||
@daily /usr/local/sbin/zfs-autosnap.sh daily | |||
@weekly /usr/local/sbin/zfs-autosnap.sh weekly | |||
zfs | |||
}} | }} | ||
Kom ihåg att default PATH för cronjob är: | |||
{{bc|1= | {{bc|1= | ||
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 == | == Rotera snapshots == | ||
För att rotera snapshots på ett ZFS filsystem, sätter man egenskapen: {{ic|<nowiki>org.freebsd:snap:{hourly|daily|weekly}=<count></nowiki>}}. Antal snapshots innan rotering, styrs via <count> variabeln. Sätts t.ex. värdet till 7, kommer snapshots | För att rotera snapshots på ett ZFS filsystem, sätter man egenskapen: {{ic|<nowiki>org.freebsd:snap:{hourly|daily|weekly}=<count></nowiki>}}. 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: | ''Exempel:'' Skapa snapshots av trunk/home/peter dagligen, spara 7 stycken innan den äldsta raderas: | ||
Line 125: | 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: | [[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:
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: