wo. jun 17th, 2026

Ik gebruik Linux alleen via de command line. Dat betekent dat ik geen GUI (grafische gebruikersinterface) gebruik. Ik werk dus vanuit een terminal, vergelijkbaar met een DOS-prompt. Daardoor ben je volledig aangewezen op het toetsenbord en heb je een muis eigenlijk niet nodig.

Omdat ik zonder GUI werk, moet je veel commando’s kennen of opzoeken. Sommige commando’s geven geen output terug wanneer ze succesvol zijn uitgevoerd. Je moet dan zelf controleren of het daadwerkelijk gewerkt heeft. In een GUI zie je meestal direct of een actie is gelukt.

Daarom heb ik enkele handige tips uitgeschreven.


Vorige Versie

Je hebt wel eens dat moment dat je een bestand bewerkt en dat ging fout en je wilt graag terug naar de versie van een paar uur geleden. Daarvoor heb je vorige versie in de Windows verkenner (rechter muisknop op een file of directory en ga naar tabblad vorige versie), dan zie je daar een aantal tijdsmomenten waarop je terug kunt gaan. Op linux heb je een aantal manieren, maar ik heb de rsnapshot versie beschreven. Een ongewijzigd bestand staat maar in 1 snapshot ook al heb je 30 snapshot momenten.
Werkelijk ingebruik: du -sh /snapshots (in mijn geval 12gb)
Als het losse files zouden zijn: du -sh –count-links /snapshots (in mijn geval 30gb)

Stap 1. Software installeren
Er moeten 2 software pakketen worden geinstalleerd als je vanaf een andere machine vorige versie wilt ophalen. Samva is niet persee nodig, want je zou de vorige versie ook op de linux machine zelf kunnen terugzetten.

  • samba zorgt er voor dat je folders kunt benaderen vanaf een andere machine.
  • rsnapshot zorgt ervoor dat er kopies worden gemaakt van de opgegeven folder.

Stap 2. Maak snapshot folder
Maak een folder aan waar kopies van bepaalde folders kunnen worden opgeslagen. Denk er wel aan dat hij telkens kopies aanmaakt, waardoor de disk kan vol raken. Het is verstandig om dit op een aparte partitie van schijf te doen.

Stap 3. Configureer snapshots
In deze file kun het gedrag van de snapshots configureren.
retain betekend hoelang de snapshots bewaard moet blijven.
Met backup geef je aan wat er in de snapshots moet komen. De tussen stukjes moet je met een TAB doen spaties mogen niet !

Stap 4. Controlleer de configuratie
Met rsnapshot configtest moet je Ok terug krijgen, anders moet je het oplossen.
Met rsnapshot hourly kun je handmatig een snapshot maken.
Kijk daarna of er wat in de folder /snapshots staat

Stap 5. Samba configureren
Zet onderaan tussen blokhaken de folders die je wilt delen. Het shadow gedeelte is voor vorige versie.

Stap 7. Snapshot script
Met dit script worden de snapshots gemaakt,

Stap 8. Maak uitvoerbaar
Als je een bestand wilt uitvoeren op Linux, dan moet je het bestand een kermerk geven dat deze uitvoerbaar is.

Stap 9. snapshot taak
Met crontab kun je script op een vooraf bepaalde tijd laten uitvoeren.

 

# 1. install software
apt update
apt install rsnapshot samba -y
# 2. maak snapshot folder
mkdir -p /snapshots
# 3. configureer snapshots
nano /etc/rsnapshot.conf

retain hourly 24
retain daily 7
retain weekly 4

backup /home/ ./
backup /usr/local/ ./
backup /opt/ ./
backup /var/www/html/ ./
backup /etc/ ./

# 4. controlleer de configuratie
rsnapshot configtest
rsnapshot hourly

ls /snapshots
# 5. config samba
nano /etc/samba/smb.conf

[home]
path = /home

vfs objects = shadow_copy2
shadow:snapdir = /snapshots
shadow:basedir = /home
shadow:format = @GMT-%Y.%m.%d-%H.%M.%S
shadow:localtime = yes

[opt]
path = /opt

vfs objects = shadow_copy2
shadow:snapdir = /snapshots
shadow:basedir = /opt
shadow:format = @GMT-%Y.%m.%d-%H.%M.%S
shadow:localtime = yes

# 6. test de config en herstart
testparm

systemctl restart smbd
# 7. snapshot script
nano /usr/local/bin/make-shadow-copies.sh

#!/bin/bash
cd /snapshots || exit

find . -maxdepth 1 -type l -name ‘@GMT-*’ -delete

for dir in hourly.* daily.* weekly.*
do
[ -d “$dir” ] || continue
TS=$(date -r “$dir” “+@GMT-%Y.%m.%d-%H.%M.%S”)
ln -s “$dir” “$TS”
done

# 8. maak uitvoerbaar
chmod +x /usr/local/bin/make-shadow-copies.sh
# 9. snapshot taak
crontab -e

0 10-23/3 * * * /usr/bin/rsnapshot hourly && /usr/local/bin/make-shadow-copies.sh
0 0 * * * /usr/bin/rsnapshot hourly && /usr/local/bin/make-shadow-copies.sh
30 2 * * /usr/bin/rsnapshot daily && /usr/local/bin/make-shadow-copies.sh
0 3 * * 0 /usr/bin/rsnapshot weekly && /usr/local/bin/make-shadow-copies.sh


Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *