zeitgesteuert mounten und kopieren

W

Watson007

Neues Mitglied
Thread Starter
Dabei seit
16.12.2009
Beiträge
12
Reaktionspunkte
0
ich möchte das mein mac mini zeitgesteuert ein Netzlaufwerk mountet und anschließend Daten mit rsync draufkopiert. Der Server ist nicht immer an, deswegen muss ich das über ein Skript machen.

also, mein Problem ist, das launchd "Permission denied" meldet.
so sieht meine copy.plist aus:
(Ausschnitt)
PHP:
<key>ProgramArguments</key>
<array></array>
<key>Program>
<string>/Volumes/HD232/skript-datei</string

<key>StartCalendarInterval</key>
<dict>
     <key>Hour</key>
     <integer>00</integer>
     <key>Minute</key>
     <integer>01</integer>
</dict>

und in dieser Skript-datei ist dieser Befehl enthalten:
PHP:
  sudo -p passwort mount_smbfs //benutzer:passwort@server/share /Volumes/HomeServer/

danach übernehme ich das mit launchd:
PHP:
  launchctl load /Library/LaunchDaemons/copy.plist

aber wenn es dann soweit ist, kommt die obengenannte Fehlermeldung. Ich habe dann noch versucht, launchctl mit sudo zu starten, aber dann bekomme ich ja gar keine Rückmeldung mehr in der Konsole.

wo könnte das Problem liegen? Kann mir vielleicht jemand helfen? Danke im Voraus...
 
Wie wäre es einfach mit ssh draufzukopieren?
Code:
rsync -e 'ssh -i rsa_key -l login host' quelle ziel

so long
 
der Server fährt zeitgesteuert hoch und runter, und dementsprechend muss ich das Kopieren vom anderen Rechner auch so machen.

der Kopieren-Befehl ist nur deswegen oben noch nicht enthalten, weil ich soweit noch nicht gekommen bin und er eben schon beim mounten meckert.
 
Hält dich keiner von ab. Einfach in einen Cronjob rein und fertig ist die Geschichte

so long
 
cronjob wird von meinem macos 10.4 nur noch übergangsweise unterstützt, und in den darauffolgenden Versionen gar nicht mehr. Warum nicht das aktuelle nutzen, launchd? Davon ab, ist launchd (eigentlich) auch nicht schwer...

also weiß jemand wo mein Problem liegt?
 
dein programm/script hat kein executable bit gesetzt.

du kannst auch das sudo umgehen, indem du einfach applescript nutzt...
spart das passwort im script zu speichern...
 
Danke :) Wie setze ich das executable-Bit? Im Finder unter Dateieigenschaften offenbar nicht....
chmod oder so?
 
Wegen meiner auch launchd nutzen. Würde dennoch das rumgehampel von wegen Sambashare mounten und sowas lieber sparen.

Einfach rsync über ssh aufrufen.

so long
 
vielleicht aber ich möchte jetzt wissen woran es liegt, und wie ich es so zum laufen bekomme.
 
chmod a+x file
 
danke... man ich kann mich einfach nicht daran gewöhnen, ls statt dir einzugeben....
 
macht er nicht, jetzt zeigt er an "execve(): Exec format error"

nebenbei, mit ssh kenne ich mich auch noch nicht aus....
 
Zuletzt bearbeitet:
dann fehlt oben im script wohl noch das für unix scripte obligatorische
#!/bin/bash
mit der passenden shell...
 
danke.. also so ähnlich wie mit wsh-Skripten unter Windoof.

hä, also ich verstehe jetzt gar nichts mehr...

mein Terminal spinnt rum. Er gibt hier seitdem andauernd ping-requests aus, die ich nicht mit ctrl c abbrechen kann. Komisch, in meinem Skript steht doch gar kein ping-Befehl drin.... versteh ich nicht.

EDIT: ich hatte versehentlich im terminal "sudo pico copy.plistPING xxx" eingegeben.

ok, wie kann ich das unterbrechen? komisch... hört er damit auf, wenn ich das Terminal schließe? ... ich werde wohl einfach mal den Rechner neu starten.... und später fortfahren.
achso, mit Beenden des Terminals hat er auch diese Prozesse beendet.... gut gut, aber weiter ausprobieren werde ich wohl erst später wieder.... bis dann
 
Zuletzt bearbeitet:
jetzt scheint launchd gar kein skript mehr auszuführen, zumindest erfolgt keine Ausgabe im Terminal.

Muss das Skript eine bestimmte Dateiendung haben?

habe ich vielleicht mit dem Terminal einen bestimmten launchd-Prozess mit abgeschossen? Vielleicht sollte ich den Rechner mal neu starten....
 
cronjob wird von meinem macos 10.4 nur noch übergangsweise unterstützt, und in den darauffolgenden Versionen gar nicht mehr.
...
Das ist nicht ganz richtig. Cron kann man auch unter 10.5 und 10.6 noch nutzen, wenn man möchte. Es ist nur so, dass zwischenzeitlich selbst Cron von launchd gesteuert wird ;).
 
es geht jetzt... woran es zuletzt lag weiß ich jetzt nicht so genau, vielleicht hatte ich zuvor kein launchctl unload gemacht, um die geänderte Uhrzeit zu übernehmen...

er hat allerdings nicht alle Dateien rüberkopiert.... hm muss ich weiter beobachten...

BTW, was benutzt Ihr eigentlich für einen Texteditor, um Systemdateien unter MacOS zu bearbeiten? Ich finde das im Terminal äußerst unpraktisch, zumal man das Fenster nicht größer ziehen kann... und den muCommander kann man nicht mit Admin-Rechten starten (sudo wird ignoriert... ist aber auch ein java-Programm)... ist es im Finder tatsächlich nicht vorgesehen, Programme über das Kontext-Menü mit Admin-Rechten starten zu können wie unter Windows?
 
...
BTW, was benutzt Ihr eigentlich für einen Texteditor, um Systemdateien unter MacOS zu bearbeiten?
...
Ich benutze vim.
Der vim ist ein extrem leistungsfähiger Texteditor (u.a.) für die Kommandozeile. Er benötigt eine gewisse Einarbeitungszeit, die sich aber m.E. tausendfach bezahlt macht.

Ein "einfacher" Editor, den man sehr schnell erlernen kann, ist z.B. nano.

Was Du damit meinst, dass man Terminalfenster "nicht größer ziehen" kann, verstehe ich nicht.

Gruß
maceis
 
Mir ist unter OS X noch nicht ein Programm untergekommen, was Adminrechte brauch um zu laufen. Das ist eigentlich auch ein Sicherheitsrisiko

so long
 
Es geht ja oft weniger um die Programme selbst, als darum was die Programme "machen". Um Systemdateien oder -einstellungen ändern, braucht man z.B. oft Adminrechte.
 
Zurück
Oben Unten