Rotera ZFS snapshots i FreeBSD: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
mNo edit summary
Line 4: Line 4:


Skapa följande skript och spara som /root/bin/zfs-autosnap.sh:
Skapa följande skript och spara som /root/bin/zfs-autosnap.sh:
{{Box Fil|/root/bin/zfs-autosnap.sh|
{{bc|1=
<pre>
#!/bin/sh
#!/bin/sh


Line 50: Line 49:
   /sbin/zfs snapshot ${snap}.0
   /sbin/zfs snapshot ${snap}.0
done
done
</pre>
}}
}}


Gör skriptet exekverbart av root:
Gör skriptet exekverbart av root:
{{Box Kommando|chmod u+x /root/bin/zfs-autosnap.sh|}}
{{RootCmd|chmod u+x /root/bin/zfs-autosnap.sh}}


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


<pre>
{{bc|1=
@hourly /root/bin/zfs-autosnap.sh hourly
@hourly /root/bin/zfs-autosnap.sh hourly<br>
@daily /root/bin/zfs-autosnap.sh daily
@daily /root/bin/zfs-autosnap.sh daily<br>
@weekly /root/bin/zfs-autosnap.sh weekly
@weekly /root/bin/zfs-autosnap.sh weekly
</pre>
}}


== Rotera snapshots ==
== Rotera snapshots ==
Line 71: Line 69:
''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:


{{Box Kommando|<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:FreeBSD]]

Revision as of 09:20, 7 January 2012

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

Snapshot skript

Skapa följande skript och spara som /root/bin/zfs-autosnap.sh:

 \
while read name value; do
  [ $value -gt 0 ] 2>/dev/null 

Gör skriptet exekverbart av root:

root # chmod u+x /root/bin/zfs-autosnap.sh

Crontab

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

@hourly /root/bin/zfs-autosnap.sh hourly
@daily /root/bin/zfs-autosnap.sh daily
@weekly /root/bin/zfs-autosnap.sh weekly

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 med nummer 0,1, ..., 6 dvs 7 stycken snapshots sparas. Den senaste snapshot:en är alltid nummer 0.

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