DSM 6.x und darunter Durch Aufgabenplaner gestartetes Script versaut die Umlaute

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Alle DSM Version von DSM 6.x und älter
Status
Für weitere Antworten geschlossen.

peterhoffmann

Benutzer
Sehr erfahren
Registriert
17. Dez. 2014
Beiträge
6.057
Reaktionspunkte
1.858
Punkte
254
Hallo,

ich habe ein Problem mit Umlauten, welches nur auftritt, wenn ich das Script über den Aufgabenplaner ausführen lasse.

Im Script werden Dateien aus einem Quellverzeichnis gezippt (7z) und das Archiv in ein anderes Verzeichnis abgelegt.
So sieht das Script aus:
Rich (BBCode):
7z a /volume1/backup/archiv.7z /volume1/quelle/*

Wenn ich das Script über den Aufgabenplaner starte, sind die Umlaute der Dateien im Archiv versaut.
Wenn ich das (gleiche!) Script über die Konsole starte, sind die Umlaute der Dateien im Archiv alle ok.

Es macht keinen Unterschied, ob ich im Aufgabenplaner das Script einfüge oder per "bash script123.sh" das Script im Aufgabenplaner verlinke und ablaufen lasse.

Ich bin verwirrt... kann mir jemand auf die Sprünge helfen? ;)
 
Kannst z.b. Mal mit /bin/env im Script schauen, welche Umgebungsvariablen so gesetzt sind. Die unterscheiden sich ja nachdem wie das Script läuft.
 
In meinem jugendlichen Leichtsinn habe ich angenommen, dass ich /bin/env im Script aufrufen und die Ausgabe in eine Datei umleiten soll.

Ergebnis:
Über die Konsole gestartet:
Rich (BBCode):
SHELL=/bin/ash
TERM=xterm
SSH_CLIENT=192.168.0.43 1579 22
SSH_TTY=/dev/pts/24
LC_ALL=en_US.utf8
USER=root
PAGER=more
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
MAIL=/var/mail/root
_=/bin/env
PWD=/volume1/synology/scripte
JAVA_HOME=/usr/local/java
LANG=en_US.utf8
HOME=/root
SHLVL=2
TERMINFO=/usr/share/terminfo
LOGNAME=root
SSH_CONNECTION=192.168.0.43 1579 192.168.0.8 22
PGDATA=/var/services/pgsql

Über den Aufgabenplaner gestartet (Zeitpunkt):
Rich (BBCode):
SHELL=/bin/sh
MAILTO=
USER=root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
_=/bin/env
PWD=/root
SHLVL=3
HOME=/root
LOGNAME=root
 
Siehst ja den Unterschied selbst. Nimm mal zumindest
Code:
LANG=en_US.utf8
mit in dein Script mit auf.

Generell ist es immer sinnvoll, die wichtigsten Teile aus der /etc/profile und ~/.profile mit in ein Script aufzunehmen (auch PATH=... z.B.) - zur Not auch alles. Dann laufen die Scripte sowohl interaktiv und auch im Aufgabenplaner. Der Aufgabenplaner führt diese Login-Scripte zuvor nicht aus - im Gegensatz zu interaktiven Anmeldung.
 
Zuletzt bearbeitet:
Das hat mir weitergeholfen und ich habe was dabei gelernt.
Danke euch beiden.

Für die Nachwelt:
Im Script habe ich folgendes eingefügt:
Rich (BBCode):
export LC_ALL=en_US.utf8
export LANG=en_US.utf8

Nu funktionieren auch wieder die Umlaute. :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat