Hallo zusammen,
ich weiss dass ich nicht der erste bin der nach so etwas fragt, aber ich komme einfach nicht weiter.
kurz zu meinem setup. Raspberry Pi 2 mit max2play/squeezeplug image (basiert auf raspbian), darauf laufen ein squeezebox server, kodi, samba und syncthing.
Ich versuche schon seit geraumer Zeit syncthing und hdparm in den Autostart zu bekommen, vergeblich bisher.
probiert habe ich folgende Einträge in rc.local
su -l pi -c /etc/syncthing/syncthing-linux-arm-v0.11.00/syncthing & #Syncthing
su hdparm -S 120 /dev/sda #Festplatte in Standbye shicken
beides scheint aber nicht zu funktionieren (die Festplatte wird auch wirklich als sda eingebunden)
Außerdem habe ich folgendes script in etc/init.d/ erstellt
#!/bin/sh
### BEGIN INIT INFO
# Provides: syncthing Required-Start: $local_fs $remote_fs Required-Stop: $local_fs $remote_fs Should-Start: $network Should-Stop: $network Default-Start: 2 3 4 5 Default-Stop: 0 1 6 Sh$
# Multi-user daemonized version of syncthing. Description: Starts the syncthing daemon for all registered users.
### END INIT INFO
# Replace with users you want to run syncthing clients for syncthing_USERS="<your name here>"
syncthing_USERS="pi" DAEMON=/etc/syncthing/syncthing-linux-arm-v0.11.0/syncthing
startd() {
for stuser in $syncthing_USERS; do
HOMEDIR=$(getent passwd $stuser | awk -F: '{print $6}')
if [ -f $config ]; then
echo "Starting syncthing for $stuser"
start-stop-daemon -b -o -c $stuser -S -u $stuser -x $DAEMON
else
echo "Couldn't start syncthing for $stuser (no $config found)"
fi
done
}
stopd() {
for stuser in $syncthing_USERS; do
dbpid=$(pgrep -fu $stuser $DAEMON)
if [ ! -z "$dbpid" ]; then
echo "Stopping syncthing for $stuser"
start-stop-daemon -o -c $stuser -K -u $stuser -x $DAEMON
fi
done
}
status() {
for stuser in $syncthing_USERS; do
dbpid=$(pgrep -fu $stuser $DAEMON)
if [ -z "$dbpid" ]; then
echo "syncthing for USER $stuser: not running."
else
echo "syncthing for USER $stuser: running (pid $dbpid)"
fi
done
}
case "$1" in
start) startd
;;
stop) stopd
;;
restart|reload|force-reload) stopd && startd
;;
status) status
;;
start-stop-daemon -o -c $stuser -K -u $stuser -x $DAEMON
fi
done
}
status() {
for stuser in $syncthing_USERS; do
dbpid=$(pgrep -fu $stuser $DAEMON)
if [ -z "$dbpid" ]; then
echo "syncthing for USER $stuser: not running."
else
echo "syncthing for USER $stuser: running (pid $dbpid)"
fi
done
}
case "$1" in
start) startd
;;
stop) stopd
;;
restart|reload|force-reload) stopd && startd
;;
status) status
;;
*) echo "Usage: /etc/init.d/syncthing {start|stop|reload|force-reload|restart|status}"
exit 1
;; esac
exit 0
Alles anzeigen
auch damit kein Erfolg.
wenn ich über SSH manuell sudo hdparm -S 120 /dev/sda bzw. service syncthing start funktioniert beides problemlos.
Soweit zu Problem 1,
Problem 2 hat mir schon einige Dateien versaut. Und zwar scheint die externe Festplatte (Fat32) nicht UTF8 kompatibel eingebunden zu werden.
Squeezeplug nutzt usbmount um angeschlossene Festplatten nach und nach unter /media/usb0 ... /usb7 einzubinden. Die usbmount.conf habe ich so geändert das fat32 Festplatten in UTF8 eingebunden werden. Das hat auch zeitweise funktioniert, leider scheint irgendwas in unregelmäßigen abständen die config zu überschreiben -> das merkt man leider erst wenn plötzlich wieder total verschobene Dateinamen auftauchen oder syncthing seitenweise Fehler auswirft.
Der fehler wird sich so wahrscheinlich nicht nachvollziehen lassen, deswegen die Frage, früher hat NTFS ziemlich viel probleme gemacht, könnte es aber für mein Vorhaben besser geeignet sein oder sind dann andere Probleme zu erwarten? Ich hab es mal kurz ausprobiert, "?" scheinen in Dateinamen auf dem Raspberry Probleme zu machen, auf die könnte ich zur Not verzichten, dafür scheinen auf den ersten Blick alle sonderzeichen zu funktionieren.
Vielleicht findet jemand den Fehler, langsam bin ich es nämlich leid nach jedem reboot erst einmal alles manuel neu zu starten.
Viele Grüße,
Tobias