Wie de gewoonte heeft zijn systeem in slaap te zetten en niet te rebooten, is zich misschien er niet van bewust dat dit zorgt voor een stelselmatig groeiende .xsession-errors in je homedirectory. Die van mij was op een gegeven moment 1,8 TB groot en wissen helpt niet, omdat verschillende grafische programma's dat bestand dan toch nog open houden en aanvullen. Je moet echt je systeem rebooten en dan wordt een nieuwe .xsession-errors aangemaakt en de oude hernoemd naar *.old.
Je kunt echter toch ingrijpen voordat het zover komt en zonder je systeem te moeten rebooten.
Maak een scriptje met de naam chkxsesserr als volgt:
#!/usr/bin/env bash
siz=$(du -k .xsession-errors|awk '{ print $1 }')
nlin=$(wc -l .xsession-errors|awk '{print $1}')
if (( nlin > 1500 )); then
me=$(whoami)
echo "xse-siz=$siz, xse-nlin=$nlin">/home/$me/.xse_chk.log
# truncate -s 1M /home/$me/.xsession-errors
tail -1000 /home/$me/.xsession-errors >/home/$me/.xsession-errors
fi
Je kunt controleren op omvang ($siz variabele) of aantal regels in het tekstbestand ($nlin variabele). Voor mezelf heb ik het voorlopig op 1500 regels gezet en als dat overschreden wordt, kort hij het in tot 1000 regels. De uitgecommentarieerde truncate-opdracht kun je gebruiken als je op omvang wil controleren en ingrijpen. Dan kun je (( nsiz > 1500 )) controleren en dan inkrimpen tot 1 MB.
De echo naar .xse-chk.log heb ik erin gezet omdat ik graag wil weten hoeveel bytes die 1500 regels zijn. Alles wat je niet moet hebben kun je eruit laten.
Dit gebruik je in een cronjob om dit regelmatig uit te voeren. Nogmaals: dit moet alleen maar voor een systeem met een desktop dat niet of zeer zelden gereboot wordt en waarvan .xsessions-errors zou blijven aangroeien.
Zet dit in je crontab:
# m h dom mon dow command
0 0 * * * 1 /home/$(whoami)/chkxsesserr
Dit voert het script uit elke maandag om middernacht.