... Men neme een kladblok of notitieblok in het OS ...
... Men plakt:
#!/bin/zsh
for i in * ; do
if [ -d "$i" ]; then
echo "Processing $i Directory ..."
## Generieke Unix/Linux oplossing (werkt ook onder macOS/bsd):
# tar -cf - "$i" -P | gzip -9r > "$i.tgz"
## Generieke bsd/macOS oplossing:
tar --options gzip:compression-level=9 -P -czf "$i.tgz" "$i"
fi
echo "Done"
done
... Men slaat het bestandje op als "Archiveer.zsh"
... Men opene de terminal en geve in:
chmod +x [sleep bestand naar de terminal voor naam]
Dus: men typt: chmod [spatie] +x [spatie] en dan sleept men het bestand naar de terminal, men krijgt iets in de trend van:
chmod +x /Volumes/Scripts/Archiveer.zsh
Om het simpel te houden: je maakt een map met alle losse mappen die je wilt archiveren die je daarin plaatst. OF, je plaatst het script in de directory waarin andere folder/directories zitten die geachriveerd dienen te worden. In mijn voorbeeld wil ik alle user data uit mijn homedirectory in losse .tgz (unix tape archive, met gzip compressie - gangbaar van minix, linux, unix tot en met macOS, Android en tegenwoordig zelfs Windows). De reden hiervoor is dat lange bestandsnamen, unicode en nog wat parameters beter worden opgeslagen in tar bestanden dan in zip.
Dus, in de Finder ga ik naar mijn homedirectory (waar ik dus alle mappen zie, zoals Documenten, Afbeeldingen, etc), daarin gooi ik het scriptje.
Vervolgens open ik de Terminal en ga naar mijn homedirectory:
cd /Users/sjobs
Wederom werkt hier:
cd [ spatie ] [sleep de homedirectory naar de terminal]
Je kunt ook "ls" (leo simon) ingeven. In dat geval krijg je de directory te zien. Dan type je cd [ spatie ] directory naam (in geval van een woord, gewoon het woord, in het geval van spaties, eerst aanhalingstekens). Dus:
cd Users
ls
cd sjobs
In ons voorbeeld
En dan geve men in:
./Archiveer.zsh
Oftewel: punt . voorwaardse slash / gevolgd door scriptnaam:
En het script gaat los ... Elke map wordt in een apart tar-bestand ingepakt. Na afloop verschijn weer de prompt, welke geduldig zal wachten op een volgende invoer. Dit kun je afsluiten door "exit" te typen of ... het venster te sluiten.
Kijk in je directory en je zult zien dat van elke map een bestand is aangemaakt. Voordeel van tar gecomprimeerd middels gzip is ook dat er geen problemen zijn met een archief van bijvoorbeeld 400 gigabyte per bestand ...
Veel text, maar feitelijk komt het neer op:
- Scriptje wegschrijven
- Scriptje slepen naar de directory waar meerdere directories staan die gearchiveerd moeten worden in losse bestanden
- Terminal openen
- ./Archiveer.zsh ingeven
- Wachten
- Sluiten
Verder gaan met je leven 🤣 ...
... bijkomend voordeel, vreet weinig resources en je finder blijft gewoon bruikbaar. Hoevaak ik niet heb meegemaakt dat de Finder niet goed meer reageerde bij het maken van bijzonder grote archieven ...
... En uitpakken? Stop alle archiefbestanden in de map waar het uitgepakt moet worden, open de terminal, ga naar de betreffende directory (dus cd spatie en dan de directory naam zoals hierboven beschreven) en type:
tar -zxf *.tgz
En de computer gaat los, gratis, compatible met de buitenwereld en snel.
Een vriendelijke Apple Groet,
Doctor
