MoinMoin Logo
  • Kommentare
  • Geschützte Seite
  • Menu
    • Navigation
    • AktuelleÄnderungen
    • SeiteFinden
    • ÜbersichtsKarte
    • Help
    • HilfeInhalt
    • HilfeZurMoinWikiSyntax
    • Anzeige
    • Dateianhänge
    • Info
    • Rohform
    • Druckansicht
    • Editieren
    • Laden
    • Speichern
  • Anmelden

Navigation

  • AktuelleÄnderungen
  • SeiteFinden
  • HilfeInhalt

Seiteninhalt hochladen

Sie können für die unten genannte Seite Inhalt hochladen. Wenn Sie den Seitennamen ändern, können Sie auch Inhalt für eine andere Seite hochladen. Wenn der Seitenname leer ist, leiten wir den Seitennamen vom Dateinamen ab.

Datei, aus der der Seiteninhalt geladen wird
Seitenname
Kommentar

Revision 12 vom 2020-11-17 13:22:53
  • Raspberry Service designen

Raspberry Service designen

Am Beispiel von WPA-Ping (wird von mir NICHT genutzt)

Das Script sieht so aus:

cat >> /usr/local/bin/wpaping << "EOFWPA"
#!/bin/bash
#
# Loop forever doing wpa_cli SCAN commands
#

sleeptime=120  # number of seconds to sleep. 2 minutes (120 seconds) is a good value

while [ 1 ];
do
    wpa_cli -i wlan0 scan
    sleep $sleeptime
done

EOFWPA

Der Service selber wird so gestaltet:

cat >> /lib/systemd/system/wpaping.service << "EOFWPA"
[Unit]
Description=WPA Supplicant pinger
Requires=network-online.target

[Service]
ExecStart=/usr/local/bin/wpaping
User=root
StandardInput=null
StandardOutput=null
StandardError=null
Restart=on-failure

[Install]
WantedBy=multi-user.target

EOFWPA

Um den Service dauerhaft zu starten, einfach den Standard-Weg beschreiten:

systemctl daemon-reload; systemctl enable wpaping.service; systemctl start wpaping.service

Runlevel herausfinden:

runlevel

Eigener Versuch:

[Unit]
Description=Sync Logfiles between SD Card and ramdisk
Requires=var-log.mount
DefaultDependencies=no
After=local-fs.target
Before=basic.target
Conflicts=umount.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/home/hss/scripts/rsync-log-files-boot.sh
ExecStop=/home/hss/scripts/rsync-log-files-shutdown.sh
User=root

[Install]
WantedBy=multi-user.target

Script:

   1 #!/bin/bash
   2 ### BEGIN INIT INFO
   3 # Provides:          varlog
   4 # Required-Start:    $local_fs
   5 # Required-Stop:     $local_fs
   6 # X-Start-Before:    $syslog
   7 # X-Stop-After:      $syslog
   8 # Default-Start:     2 3 4 5
   9 # Default-Stop:      0 1 6
  10 # Short-Description: Start/stop tmpfs logfile saving and restore.
  11 ### END INIT INFO
  12 #
  13 # Increases overall system performance.
  14 # Increases the life of your SDcard by reducing filesystem IO (read/writes).
  15 #
  16 PATH=/sbin:/usr/sbin:/bin:/usr/bin
  17 
  18 
  19 varlogSave=/var/save.log/
  20 [ ! -d $varlogSave ] && mkdir -p $varlogSave
  21 
  22 
  23 function _save() {
  24     if [ -x "$(which rsync)" ]; then
  25         rsync -a --delete /var/log/ ${varlogSave}
  26     else
  27         cp -Rpu "/var/log/*" $varlogSave
  28     fi
  29     sync
  30 }
  31 
  32 
  33 case $1 in
  34     start)
  35         echo "*** Starting tmpfs file restore: varlog."
  36         if [ -z "$(grep /var/log /proc/mounts)" ]; then
  37             echo "*** mounting /var/log"
  38             _save
  39             varlogsize=$(grep /var/log /etc/fstab|awk {'print $4'}|cut -d"=" -f2)
  40             [ -z "$varlogsize" ] && varlogsize="70M"
  41             mount -t tmpfs tmpfs /var/log -o defaults,size=$varlogsize
  42             chmod 775 /var/log
  43         fi
  44         cp -Rpu ${varlogSave}* /var/log/
  45     ;;
  46     stop)
  47         echo "*** Stopping tmpfs file saving: varlog."
  48         _save
  49         umount -f /var/log/
  50     ;;
  51     *)
  52         echo "Usage: $0 {start|stop}"
  53         exit 1
  54     ;;
  55 esac
  56 
  57 
  58 exit 0
  59 [/php]
  60 
  61 
  62 Ein weiterer Gedanke wäre noch einen Schritt weiter zu gehen  und im "start" Abschnitt die letzte Zeile wie folgt abzuändern:
  63 [code]
  64 cp -Rp --attributes-only ${varlogSave}* /var/log/


KategorieRaspberry

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01