[GastForen Programmierung/Entwicklung AppleScript

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

bash Script in Applescript ausführen

michael m.
Beiträge gesamt: 162

26. Aug 2011, 13:43
Bewertung:

gelesen: 12002

Beitrag als Lesezeichen
hallo masterkey,

vielen dank für die Informationen.
Lieder erhalte ich das Ergebnis ""skipping directory /Users/Michael"

Ich weiss nicht so recht welche Wege ich gehen soll?

Erst arbeite ich mich in die Shell ein und mache ein kleines Script.

Zitat #!/bin/bash
# Rsync Backup Script - Vollbackup (Wochen Script)
# Erstellt exakte Spiegelung vom Mac auf DiskStation 509+
# Copyright (C) 25.08.2011 Michael Madej

##########################################################
# Quelle
##########################################################
# Anmerkungen über den Backslash
# ohne Slash am Ende wird der gesamte Quellpfad bis zum Wurzelverzeichnis in das definierte Zielverzeichnis erstellt
# mit Slash am Ende wird das Verzeichnis ohne gesamten Pfad bis zum Wurzelverzeichnis erstellt

SOURCE="/Users/michael/00rSyncTestQuelle/";
# SOURCE="/Users/Michael";

##########################################################
# Ziel
##########################################################

DESTINATION="/Users/michael/01rSyncTestZiel";
# DESTINATION="/Volumes/Backup/Benutzer";

##########################################################
# Log File Verzeichnis
##########################################################

LOGFILE="/Users/michael/02Logs/rSyncLog.txt";
# LOGFILE="/Volumes/Backup/rSyncLogfiles/rSyncLog.txt";

##########################################################
# Optionen
##########################################################

OPTIONS="-abhuvX --delete --stats";

# rSync Optionsschalter
# -n Simuliert die gesamte Aktion ohne es aus zu führen.
# -a Alle Rechte und Eigentümer der Quelldatei werden auf dem Zielmedium zu übernommen.
# -b sorgt dafür, dass durch die Option --delete gelöschte sowie alle veränderten Objekte gesichert werden.
# --backup-dir Mit diesem Parameter kann man ein Verzeichnis dafür angeben
# -u Aktualisiert nur geänderte Daten der Quelle im Ziel überspring neuere Dateien
# -v Gibt den Synchronisierungsprozess im Terminalfenster aus
# -S Optimiert das Handling für SparseBundles (Format der Aperture Library)
# -p aktiviert die option
# --progress Fortschrittsanzeige beim Transfer
# --partial Fortsetzung des Transfers bei Abbruch
# -z aktiviert die Komprimierung für die Datenübertragung
# -X, --xattrs aktiviert aktiviert die erweitereten Dateiattribute wie Finder Etiketten
# -h, --human-readable output numbers in a human-readable format

# --delete Löscht Dateien und Ordner, die in der Quelle nicht mehr vorhanden sind
# --exclude=Muster schließt ein bestimmtes Muster von der Sicherung aus
# --exclude=Ordner/ schließt Ordner von der Sicherung aus
# --link-dest=Verzeichnis erstellt harte Links in ein Verzeichnis wenn eine Datei nicht geändert wurde
# --stats zeigt einen ausführlichen Report am Ende einer Übertragung an
# --log-file=FILE log what we're doing to the specified FILE

##########################################################
# Befehl
##########################################################

rsync $OPTIONS $SOURCE $DESTINATION >> $LOGFILE


Dann möchte ich es Zeitgesteuert laufen lassen.
Da ich mit ical arbeite, freute ich mich schon dort das Script ein zu binden.

????? Was sit denn mit dem Script ??
iCal unterstützt keine Shell scripte, sondern nur Applescript.
Zumindest habe ich das so heruas gefunden.

Na dann, habe ich in Applescript folgendes geschrieben, was in etwa genau so funktioniert!

Zitat tell application "Finder"
if not (exists disk "BACKUP") then
-- display dialog "Backup Laufwerk ist nicht verfügbar, es wird gemountet"
-- mount volume "afp://192.168.192.209/Backup" as user name "BENUTZERNAME" with password "PASSWORT"
delay 3
end if
-- display dialog "Backup Laufwerk ist verfügbar, Sicherung wird ausgeführt"

set SOURCE to "/Users/michael/00rSyncQuelle/"
set DESTINATION to "Users/michael/01rSyncZiel"
set OPTIONS to "-vaE"
set LOGFILES to "/Users/michael/02rSyncLOG/rSyncLogfiles.txt"

-- display dialog "rsync " & OPTIONS & " " & SOURCE & " " & DESTINATION & " >> " & LOGFILES

try
-- do shell script "rsync -vaE --delete /Users/michael/00rSyncQuelle/ Users/michael/01rSyncZiel"
do shell script "rsync " & OPTIONS & " " & SOURCE & " " & DESTINATION
end try
end tell


Jetzt kommt die grosse Frage.
Womit soll ich denn in Zukunft arbeiten?

Shell Scripte oder Applescript.
Ich bin noch am Anfang mit der ganzen Programmiererei und mit Applescript habe ich schon etwas Erfahrung aber man vergisst wieder einfach etwas wenn man es nicht ständig macht.

Andererseits wollte ich auch UNIX befehle kennen lernen, wie man doch auch andere Kenntnisse haben soll.

Jetzt im kommenden Semester kommt jetzt noch PASCAL dazu.

Womit soll ich demnächst meine kleinen Scripte erstellen?
Ich möchte auch nicht ständig umschreiben müssen.

Was kannst Du denn da raten?

Viele Grüsse
Michael

(Dieser Beitrag wurde von michael m. am 26. Aug 2011, 13:45 geändert)
Änderungsverlauf:
Beitrag geändert von michael m. (User) am 26. Aug 2011, 13:45