E-Rezept ist verpflichtend seit dem 01.01.2024
Alle Hinweise und Informationen zur Nutzung finden Sie unter folgendem Link.
Ich hab' ne Lösung zusammengestellt, die die Tomedo Backup-Dateien täglich auf einen Server überträgt,
um nach einem Server-Totalverlust eine weitere Kopie zu haben. Vielleicht hat jemand noch gute Ideen zur Ergänzung.

Problem: Tägliches Tomedo-Backup auf externer Festplatte wird abends manchmal vergessen, Platte kann verloren gehen oder beschädigt werden. Zudem sind die Dateien auf der Platte nicht verschlüsselt, das gefällt mir nicht.
Idee: Tägliches Tomedo-Backup soll automatisiert in passwortgeschütztes Archiv gepackt und auf einen Server übertragen werden, der außerhalb der Praxis steht. Dropbox etc. möchte ich für Patientendaten nicht verwenden.
Voraussetzung: Via SSH erreichbarer, externer Server, Internetzugang mit akzeptablen (Upload-)Übertragungsraten. Script wird als cron-job jede Nacht gestartet

Lokale Ordnerstruktur:
BackupToTransfer (Ordner)
Inhalt:
    - nachfolgendes AppleScript
    - toProceed (Ordner - hier speichert der Tomedo Server das tägliche Backup)
    - transferred (Ordner - übertragene Archive zur Kontrolle, können dann auch gelöscht werden)    
    
Ablauf:
1. Dateien werden von Tomedo in den Ordner "toProceed" geschrieben, dann in ein Archiv verpackt, Name des Archivs ist das Datum, Original-Files löschen.
2. Archiv zum Server übertragen
3. Übertragenes Archiv in "transferred" verschieben

Noch ungelöst:
terminal auf events ueberwachen, um auf den erfolgreichen (oder nicht erfolgreichen) transfer zu reagieren.

Applescript Start
#----------------------------------
# daten remote server
set user to "ssh-user"
set domain to "backupserverdomain.de"
set passwort to "xyzPasswort"
set login to user & "@" & domain

#zipfile
set passWD to "ZIP-PASSWORT"
set stampText to do shell script "date '+%Y%m%d'"

set myPath to path to me
#----------------------------------

# absoluten pfad zur location
tell application "Finder"
    set myFolder to ((container of myPath) as string) & "toProceed" as alias
    set myArchivFolder to ((container of myPath) as string) & "transferred" as alias
end tell

# pfad-syntax anpassen
set myTargetFolderP to POSIX path of myFolder
set myArchivFolderP to POSIX path of myArchivFolder

# Ordner & files zippen (-r), verschluesseln (-P), originale entsorgen (-m)
do shell script "zip -P " & passWD & " -rm " & myTargetFolderP & stampText & ".zip " & myTargetFolderP & "/"

set transferCommand to "scp " & myTargetFolderP & stampText & ".zip " & login & ":tomedo/" & stampText & ".zip"
set archiveCommand to "mv " & myTargetFolderP & "*.zip " & myArchivFolderP
# zip -rm entfernt anscheinend keine files mit der endung .app, daher muss man den ordner noch zusätzlich manuell entleeren:
set deleteCommand to "rm -r " & myTargetFolderP & "* "

tell application "Terminal"
    try
        close (every window)
    end try
    delay 2

    #Here's where all the action is
    do script ""
    activate
    tell application "System Events" to tell process "Terminal"
        delay 2
        keystroke transferCommand
        keystroke return
        delay 15
        keystroke passwort
        keystroke return
        # nach einer stunde dateien verschieben, wenn übertragung (hoffentlich) beendet. Keine schoene loesung,
        # aber leider keine verlässliche moeglichkeit gefunden, das terminal auf events zu ueberwachen.
        delay 3600
        keystroke archiveCommand
        keystroke return
        keystroke deleteCommand
        keystroke return    
    end tell
end tell
do shell script "killall Terminal"
#----------------------------------
Applescript Ende
Gefragt von (640 Punkte)
0 Punkte

2 Antworten

Hallo Herr Dustermann,

schauen sie mal in den Faden "Das leidige Backup Thema". Das Problem ist wohl die Datenbank wirklich zu schliessen und die Prozesse zu beenden bevor man das Backup macht. Per Terminal kann man das machen aber ist eine heisse Kiste. Wenn sowas wirklich funktionieren soll muss es wohl von Zollsoft kommen. Ihr Ansatz ist trotzdem sehr cool.

Viele Grüße,

 

Peter Balogh

 

Beantwortet von (55.2k Punkte)
0 Punkte
Ich verwende die Dateien, die vom Servertools-Backup erzeugt werden. Damit kann ich zwar nicht im laufenden Betrieb umschalten, die DAten sollten aber wenigstens brauchbar sein, wenn die Praxis abbrennt. Primäres Ziel war zudem den Transport von Wechselplatten mit unverschlüsselten Daten überflüssig zu machen, indem man ungenutze Bandbreite während der Nacht nutzt.
Beantwortet von (640 Punkte)
0 Punkte
15,813 Beiträge
23,522 Antworten
41,236 Kommentare
11,010 Nutzer