Hallo
Ich habe diese Regel geschrieben: [code] cat /etc/udev/rules.d/51-my-fairphone2.rules # my fairphone 2 SUBSYSTEM=="usb", ATTR{idVendor}=="2ae5", ATTR{idProduct}=="9039", GROUP="plugdev", ENV{adb_user}=="yes", RUN+="/home/md/Software/Linux/Maint_u_Skripte/Fairphone2/Desktop_2_Fairphone2_rsync.bash" [/code]
Darin steht [code] cat /home/md/Software/Linux/Maint_u_Skripte/Fairphone2/Desktop_2_Fairphone2_rsync.bash #!/bin/bash
ULBIN_EXECS=/usr/local/bin/execs.source if [ -f "$ULBIN_EXECS" ] ;then . "$ULBIN_EXECS" else echo "$0 $ULBIN_EXECS nicht gefunden" exit 200 fi
if [ -f "$LOG_FUNC" ] ; then . "$LOG_FUNC" else echo "$0 $LOG_FUNC nicht gefunden" exit 201 fi
open_log
if ! [ "${UID}" = 0 ] ; then echo "Do operate $0 as root exclusively" close_on_error fi
set -x set -v set +e ADB=/usr/bin/adb DESKTOP=/home/md/Schreibtisch/
set -u #o pipefail IFS=$'\n\t'
MYPHONE=/home/md/.myphone if [ -f "$MYPHONE" ] then . "$MYPHONE" else echo "Datei $MYPHONE nicht gefunden" close_on_error fi
if [ "$(lsusb -d "$VENDOR":"$PRODUCT" )" ] ; then echo "Fairphone2 found" echo "Fairphone / Menu / Einstellungen / Suche 'USB' / Dateiübertragung wählen" echo "Fairphone / Menu / Einstellungen / System / Erweitert / Entwickleroptionen / USB-Debugging / ON" sleep 1 if [ "$($ADB get-serialno)" != "$SERIAL" ] ; then echo "not your Phone" close_on_error fi else echo "Fairphone2 not connected" close_on_error fi
#adb shell am start -n com.package.name/com.package.name.ActivityName $ADB shell ps com.termux || \ $ADB shell am start -n com.termux/.HomeActivity
adb forward tcp:8022 tcp:8022
$RSYNC -e 'ssh -p 8022' --delete -av $DESKTOP user@127.0.0.1:/data/data/com.termux/files/home/storage/documents/
for DIR in DCIM/Camera Pictures Movies DCIM Screenshots ; do #$RSYNC -e 'ssh -p 8022' --delete -av user@127.0.0.1:/data/data/com.termux/files/home/storage/dcim/ /home/md/Sofortupload/DCIM/Camera/${DIR}/
$RSYNC -e 'ssh -p 8022' -av user@127.0.0.1:/data/data/com.termux/files/home/storage/${DIR@L} /home/md/Sofortupload/${DIR}/ done
$ADB shell -user user am pkill termux
close_log_exit exit 0 [/code]
ULBIN_EXECS=/usr/local/bin/execs.source stellen eine Menge shortcuts für bash bereit (auch $LOG_FUNC) und $LOG_FUNC stellt eine automatisierte log Umgebung bereit mit open_log, close_log und close_on_error
Problem : die udev regel wird anscheinend zweimal unmittelbar hintereinander aufgerufen so dass ich bei jeden Anstecken des fairphones zwei logs bekommen. [code] ls -tl insgesamt 340 -rw-r--r-- 1 root root 8859 25. Jul 13:03 Desktop_2_Fairphone2_rsync.log -rw-r--r-- 1 root root 2439 25. Jul 13:02 Desktop_2_Fairphone2_rsync.log.2026-07-25_13:02:58 -rw-r--r-- 1 root root 30403 25. Jul 13:00 Desktop_2_Fairphone2_rsync.log.2026-07-25_13:00:08 -rw-r--r-- 1 root root 30536 25. Jul 13:00 Desktop_2_Fairphone2_rsync.log.2026-07-25_13:00:02 -rw-r--r-- 1 root root 30168 23. Jul 13:24 Desktop_2_Fairphone2_rsync.log.2026-07-23_13:24:40 -rw-r--r-- 1 root root 2451 23. Jul 13:24 Desktop_2_Fairphone2_rsync.log.2026-07-23_13:24:35 -rw-r--r-- 1 root root 30259 23. Jul 01:04 Desktop_2_Fairphone2_rsync.log.2026-07-23_01:04:27 -rw-r--r-- 1 root root 30317 23. Jul 01:04 Desktop_2_Fairphone2_rsync.log.2026-07-23_01:04:20 -rw-r--r-- 1 root root 34842 23. Jul 00:47 Desktop_2_Fairphone2_rsync.log.2026-07-23_00:47:03 -rw-r--r-- 1 root root 34899 23. Jul 00:46 Desktop_2_Fairphone2_rsync.log.2026-07-23_00:46:47 [/code]
[code] locate -i fairphone | grep rules /etc/udev/rules.d/51-my-fairphone2.rules /home/md/Hardware/Fairphone2/rules.txt [/code]
[code] /lib/udev/rules.d # grep -iA2 fairphone * 51-android.rules:# Fairphone 2 51-android.rules-SUBSYSTEM=="usb", ATTR{idVendor}=="2ae5", ENV{adb_user}="yes" 51-android.rules- 51-android.rules:# Fairphone 2 aka Qualcomm, Inc. 51-android.rules-SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="901d", ENV{adb_user}="yes" 51-android.rules- [/code]
Wie kann ich den Grund für den doppelten Aufruf der udev Regel erkennen und beseitigen?