cancel
Showing results for 
Search instead for 
Did you mean: 

Regelmässige Sicherung von Alfresco community 4.2c

limulus
Champ in-the-making
Champ in-the-making
Guten Morgen

Ich bin ein absoluter Neuling mit Alfresco und mach während meinen ersten Gehversuchen sehr gute Erfahrungen mit dem System. Nun wollen wir das System mit Wissen füllen, haben aber eine für mich zentrale Frage:

Wie kann ich das System regelmässig (wenn möglich automatisiert) sichern ? So sichern, dass eine Wiederherstellung gemacht werden kann? Gibt es ein Add oder ein Tool. Ich will nicht einfach immer den ganzen Server sichern. Ich habe Anleitungen zu Hot/Cold Restore gefunden, werde abwer damit nicht schlau. Ich verwende Windows 7 als Virtualbox auf meinem Windows Server. Ich verwende das Tomcat-Bundle von Alfresco-community.

Ich danke für Eure Hilfe

Claudio
10 REPLIES 10

domenico_manzo
Champ in-the-making
Champ in-the-making
Ciao Claudio,

es gibt zwei Möglichkeiten das Alfresco-System zu sichern:

1.) Hot-Backup
2.) Cold-Backup

Wenn du ein Alfresco-System sicherst, solltest du auf jeden Fall folgende Reihenfolge beachten: A I D C

A= Application (Tomcat, Java u.s.w.)
I = Index (Wobei du diesen jederzeit wieder herstellen kannst)
D = Database (Alfresco DB-Schema)
C = Contentstore (Alfresco DATA)

So nun kannst du dir überlegen, welchen Weg du gehst. Ich würde dir empfehlen, ein Cold-Backup durchzuführen, da dieser am einfachsten ist. Hierfür schreibt du dir ein Skript, der dein System zu einen definierten Zeitpunkt herunterfährt, die genannten Komponenten sichert und wieder hochfährt. Wenn eine kleine Downtime haben möchtest, kannst du nach der Sicherung der Datenbank, das System wieder hochfahren und den Contenstore im laufenden betrieb sichern Smiley Wink

Viele Grüße
Domenico


Ciao Domenico
Danke für Deine schnelle Antwort. Cold-Backup ist mir am liebsten. Da ich eher Anwender denn Admin bin, stehe ich etwas wie der Esel am Berg. Ich verwende Alfresco zu Ablage unsere Qualitätssicherung, das heisst die Zugriffe finden normal nur während der Geschäftszeit statt. Eine Sicherung dürfte während der Nacht stattfinden. Ich frage mich aber ob ich bei Tomcat bleiben soll oder ob ich auf Mysql wechsle (MS SQL geht ja nicht wie ich gelesen habe). Bei MSQL habe ich Tools zur Sicherung der Datenbank, bei Tomcat kenne ich mich gar nicht aus.

Wenn ich richtig verstehe rätst Du mir: Tomcat Stop und dann die physischen Dateien von Alfresco sichern. Tomcat wieder starten

Wie sieht es aus wenn ich den SQL-Server auf mySQL wechsle ? Performance? Wenn ich mittels App die SQL-DB sichere, welche Teile müssen physisch noch gesichert werden ?

Herzlichen Dank für Deine Hilfe

Herzliche Grüsse aus der Schweiz
Claudio

domenico_manzo
Champ in-the-making
Champ in-the-making
Hey Claudio,

also zuerst mal zu den DBs. Ob du nun MySQL nutzt oder MS SQL bleibt dir überlassen. Bei den genannten DBs hast du die Möglichkeit eine Sicherung mittels Boardingtools durchzuführen. Getestet habe ich das noch nicht im direkt vergleich, aber ich würde sagen, dass du mit beiden Datenbanken eine gute Performance hinbekommst. Wenn du schon eine DB hast, würde ich jetzt auch nicht switchen, außer du hast einen berechtigten Grund.

Bezüglich des Tomcats, einfach den Tomcat und die restlichen Dateien weg kopieren, da gibt es nicht viel zu beachten, außer das die Anwendung nicht läuft Smiley Wink

Nochmals zur Reihenfolge des Cold-Backups:

1.) Alfresco herunterfahren
2.) DB herunterfahren falls nötigt für die Sicherung
3.) Application (Tomcat & CO), Index, Datenbank sichern
4.) DB hochfahren, falls du diese runtergefahren hast
5.) Alfresco hochfahren
6.) Contenstore sichern

That´s it.

Viele Grüße aus Stuttgart
Domenico

Hallo Domenico

Ich habe das Skript geschrieben und werde es morgen scharf testen. Eine Frage noch so am Rande: Warum muss ich auch Java sichern? Ist das ein Risikofaktor? Habe ausser von Dir nirgends gelesen.

Habe noch etwas Probleme mit dem Stoppen und Starten der Server. Die mitgelieferten Skripts sind nicht zuverlässig. Gibt es da noch einen Tipp?

Herzlichen Dank für Deine Hilfe

So langsam komme ich hinter das System.

Herzliche Grüsse
Claudio

domenico_manzo
Champ in-the-making
Champ in-the-making
Hi,

du musst Java nicht sichern, aber dann musst du das beim Restore nicht extra wieder installieren. Ich teile die Alfresco installation in den genannten 4 Bereichen auf, dass erleichtert mir das Backup und den Restore. Streng genommen würde es reichen, wenn du nur DB und Contentstore sicherst, aber der Restore wäre ja super aufwändig.

Zu den Start-Skripten kann ich dir nur Recht geben, die sind eine Katastrophe Smiley Very Happy Ich kann dir den Tanuki-Service-Wrapper (http://wrapper.tanukisoftware.com) ans Herz legen.

Viele Grüße
Domenico

Hallo Domenico
Habe alfresco auf Mysql gesetzt, so kann ich das ganze toll sichern. Mein Problem mit der Abschaltung des Tomcat dienstes bleibt. Tanuki-Service Wapper habe ich mal angesehen, leider sehe ich nicht ganz dahinter. Hast Du mir einen Link, der mir sagt wie das ganze zu bewerkstelligen ist - ev auf Deutsch ?

Danke für all Deine Hilfe

Herzliche Grüsse
Claudio

limulus
Champ in-the-making
Champ in-the-making
Hallo

Hatte ja die Idee mein Alfresco mittels Batchdatei zu sichern. Falls jemand das auch im Auge hat, habe ich unten mein Skript angehängt. Ich bin davon abgekommen, weil ich mit dem Bundel-SQL nicht so glücklich war und bin deshalb auf mysql umgestiegen.

Herzliche Grüsse und viel Spass mit Alfresco

Claudio

@ECHO OFF

REM Alfresco backup script for Postgresql
REM Version 2.3, Updated: 2013-07-02
REM By Claudio Ruetimann info@drogerie24.ch

REM Performs a full offline backup of Alfresco version 4.2c.

REM Settings
SET InstallLocationOf7Zip=C:\Program Files\7-Zip\
SET ALF_DATA_PATH=C:\alfresco
SET ALF_DATA_DIR_NAME=alf_data
SET BACKUP_DIR=C:\alfresco\backups
SET SQL_USERNAME=alfresco
SET SQL_PASSWORD=Limulus72$
SET DATABASE_NAME=alfresco
SET SQL_HOST=localhost
SET Tomcat_Path=C:\Alfresco\tomcat\bin\
SET exe7Zip=%InstallLocationOf7Zip%\7z.exe
SET SQLDUMP=C:\Alfresco\postgresql\bin\


REM +———————————————————————–+
REM | Do not change anything below here unless you know what you are doing. |
REM +———————————————————————–+

REM Usage variables.
SET DAYS_TO_SAVE_ORPHANED_CONTENT=14
SET DAYS_TO_SAVE_BACKUP_ARCHIVES=7

REM Delete orphaned content older than two weeks
cd %ALF_DATA_PATH%\%ALF_DATA_DIR_NAME%

ECHO deleting orphaned content older than %DAYS_TO_SAVE_ORPHANED_CONTENT% days
forfiles /p %ALF_DATA_PATH%\%ALF_DATA_DIR_NAME%\contentstore.deleted /s /m *.* /d -%DAYS_TO_SAVE_ORPHANED_CONTENT% /C "cmd /c del @path"

FOR /f "delims=" %%i IN ('date /t') do SET "ddd=%%i"
SET d1=%ddd:~0,2%
SET d2=%ddd:~3,2%
SET d3=%ddd:~8,2%
SET DATE=%d1%%d2%%d3%-%time:~0,2%-%time:~3,2%-%time:~6,2%
SET FDIR=%d1%-%d2%-%d3%-%time:~0,2%-%time:~3,2%-%time:~6,2%
REM SET DATE=%d1%%d2%%d3%-%time:~0,2%
REM SET FDIR=%d1%-%d2%-%d3%-%time:~0,2%

Echo Tomcat runterfahren
net stop "alfrescoTomcat"

md "%BACKUP_DIR%\%FDIR%"
ECHO backing up the alfresco sql database…

SET PGPASSWORD=Limulus72$
call "%sqlDUMP%\pg_dump.exe" –host localhost –port 5432 –username "alfresco" –format custom –blobs –encoding LATIN1 –verbose –file "%BACKUP_DIR%\%FDIR%\Backup_%DATE%.sql"
REM SET PGPASSFILE=C:\Alfresco\Backupbatch\pgpass.conf

REM call "%sqlDUMP%\pg_dumpall.exe" -U scfcu_postgres > "%BACKUP_DIR%\%FDIR%\Backup_%DATE%.sql"


cd %BACKUP_DIR%

mkdir %FDIR%\%ALF_DATA_DIR_NAME%

Echo SQL_Server wird runtergefahren
net stop "alfrescoPostgreSQL"

ECHO backing up the alfresco data directories

xcopy %ALF_DATA_PATH%\%ALF_DATA_DIR_NAME% %BACKUP_DIR%\%FDIR%\%ALF_DATA_DIR_NAME% /E /Q /I


ECHO Compressing backed up files. (New window)
REM Compress files using 7-Zip in a lower priority process.
START "Compressing Backup. DO NOT CLOSE" /belownormal /wait "%exe7Zip%" a  %BACKUP_DIR%\backup_%FDIR%.zip %BACKUP_DIR%\%FDIR%\"
ECHO Done compressing backed up files.
ECHO.

REM remove the orignial folder.
rmdir /s /q %BACKUP_DIR%\%FDIR%

ECHO delete previous backup archives older than %DAYS_TO_SAVE_BACKUP_ARCHIVES% days…
forfiles /p %BACKUP_DIR% /m *.* /d -%DAYS_TO_SAVE_BACKUP_ARCHIVES% /s /c "cmd /c del @path"

Echo Tomcat und SQL wieder Starten
REM net start "alfrescoPostgreSQL"
REM net start "alfrescoTomcat"
CALL C:\Alfresco\servicerun.bat START

NET USE U: \\Drg-nas02\dms PERSISTENT:NO

XCOPY %BACKUP_DIR%\*.* U:\Alfresco\Backups /Y

ECHO delete previous backup archives older than %DAYS_TO_SAVE_BACKUP_ARCHIVES% days…
forfiles /p U:\Alfresco\Backups /m *.* /d -%DAYS_TO_SAVE_BACKUP_ARCHIVES% /s /c "cmd /c del @path"


REM NET USE U: /delete /Y

domenico_manzo
Champ in-the-making
Champ in-the-making
Hallo Claudio,

auf der Homepage von Hersteller ist alles super beschrieben. Ich rate dir von einer Batch-Datei ab, mit dem Wrapper bist du viel besser dran Smiley Wink
Wo genau hängst du den, ich bin mir sicher, dass wir eine Lösung für dein Problem finden.

Gruß
Domenico

Morgen Domenico

Ich speichere meine Mysql-Daten mittels MySqlBackup ab. Ich möchte dafür den Tomcat Server davor anhalten und danach wieder starten. Im Backup_Tool kann ich keine Commands setzen - muss also den Tomcat anders stoppen und starten. Wenn der Wrapper das kann - wäre ich glücklich.

Das mit der Bat-Datei ist Geschichte - funktioniert eh nicht stabil.

Herzliche Grüsse
Claudio