Hallo zusammen und Hallo meigrafd, [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"] [/font]
als erstes danke für das tolle [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Tutorial [/font][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]v[/font][/font][font="Arial"]ar/log/ in eine Art RAMdisk auslagern & weitere Optimierungen bezgl. Logs[/font]
[font="Arial"]Da ich deinen Tutorial nicht zumüllen möchte und ich noch Fragen zur installation unter Jessie habe, mache ich hier einen neuen Thread auf, ich hoffe das ist für Dich i.O!?[/font]
[font="Arial"] [/font]
Laut deinen Aussagen installiere / führe ich als erstes das hier aus:
- [font="Tahoma, sans-serif"]Script erstellen:
nano /etc/init.d/varlog[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"]#!/bin/bash
### BEGIN INIT INFO
# Provides: varlog
# Required-Start: $local_fs
# Required-Stop: $local_fs
# X-Start-Before: $syslog
# X-Stop-After: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop logfile saving
### END INIT INFO
#
# varlog This init.d script is used to start logfile saving and restore.
#
varlogSave=/var/save.log/
[ ! -d $varlogSave ] && mkdir -p $varlogSave
PATH=/sbin:/usr/sbin:/bin:/usr/bin
case $1 in
start)
echo "*** Starting tmpfs file restore: varlog."
if [ -z "$(grep /var/log /proc/mounts)" ]; then
echo "*** mounting /var/log"
cp -Rpu /var/log/* $varlogSave
varlogsize=$(grep /var/log /etc/fstab|awk {'print $4'}|cut -d"=" -f2)
[ -z "$varlogsize" ] && varlogsize="70M"
mount -t tmpfs tmpfs /var/log -o defaults,size=$varlogsize
chmod 755 /var/log
fi
cp -Rpu ${varlogSave}* /var/log/
;;
stop)
echo "*** Stopping tmpfs file saving: varlog."
#[ -n $varlogSave ] && rm -rf ${varlogSave}*
#[ ! -d $varlogSave ] && mkdir -p $varlogSave
cp -Rpu /var/log/* $varlogSave >/dev/null 2>&1
sync
umount -f /var/log/
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
exit 0[/font]
- [font="Tahoma, sans-serif"]Script ausführbar machen:[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"]chmod +x /etc/init.d/varlog[/font]
- [font="Tahoma, sans-serif"]Script in den Runlevel eintragen sodass es bei starten und herunterfahren des Systems ausgeführt wird:[/font]
[font="Tahoma, sans-serif"] [/font]
[font="Tahoma, sans-serif"]Das entfällt bei Jessie[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"]update-rc.d varlog start 01 2 3 4 5 . stop 99 0 1 6 .[/font]
[font="Courier New"] [/font]
[font="Tahoma, sans-serif"]Nun müssen wir eine neue Service Datei für systemd erstellen:[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"]sudo nano /etc/systemd/system/varlog.service[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"][Unit]
Description=Start/stop tmpfs logfile saving
DefaultDependencies=no
After=local-fs.target
Before=Basic.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/init.d/varlog start
ExecStop=/etc/init.d/varlog stop
[Install]
WantedBy=local-fs.target[/font]
[font="Tahoma, sans-serif"]Und nun noch diesen Dienst einschalten:[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"]sudo systemctl enable varlog[/font]
[font="Tahoma, sans-serif"]
Nach einem Reboot kann man sich anzeigen lassen ob ein Dienst gestartet wurde:[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"]sudo systemctl status varlog[/font]
[font="Courier New"] [/font]
[font="Courier New"] [/font]
[font="Arial"]Aber was ist mit dem allem hier, sprich stopp, RamRun, RamLock und start?[/font]
- [font="Tahoma, sans-serif"]Nun sorgen wir dafür das /var/log/ erstmalig gesichert wird:[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"]/etc/init.d/varlog stop[/font]
- [font="Tahoma, sans-serif"]Bevor wir nun "start" ausführen eine kurze Erklärung was /etc/init.d/varlog macht:
Durch den " stop " Parameter werden alle Dateien und Verzeichnisse inkl. deren Datei-Rechte/Besitzer von /var/log/ nach /var/save.log/ kopiert.
Durch den " start " Parameter wird erst geprüft ob tmpfs bereits für /var/log gemounted wurde und falls nicht wird /var/log/* nach /var/save.log/ kopiert und /var/log/ als tmpfs mit 70M (Megabyte) eingehängt (über das vorhandene)..
Anschliesend werden alle Dateien und Verzeichnisse inkl. deren Datei-Rechte/Besitzer von /var/save.log/ nach /var/log/ kopiert.
Man kann auch in /etc/fstab eine Zeile einfügen worüber die maximale Grösse fürs tmpfs von /var/log festgelegt wird, das würde das Script dann auch auslesen:[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"]tmpfs /var/log tmpfs size=70M 0 0[/font]
[font="Tahoma, sans-serif"]
Dann müssen wir noch RamRun und RamLock aktivieren:[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"]sed -i /etc/default/rcS -e "s/RAMRUN=no/RAMRUN=yes/"
sed -i /etc/default/rcS -e "s/RAMLOCK=no/RAMLOCK=yes/"[/font]
[font="Tahoma, sans-serif"]RAMRUN bewirkt dass beim Bootvorgang alles in /var/run/ belassen wird und nicht aufgeräumt, und /var/run wird dadurch auch in tmpfs abgelegt[/font][font="Tahoma, sans-serif"]
Das gleiche gilt auch für RAMLOCK bezüglich /var/lock/
[/font]
[font="Tahoma, sans-serif"]
Nun starten wir das Script damit tmpfs für /var/log eigehängt wird:[/font]
[font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
[font="Courier New"]/etc/init.d/varlog start[/font]
muss ich das alles auch noch ausführen oder ist das unter dem neuen script unnötig?