do-while / contao-BackupDB

Datenbank-Backup für Contao ab 4.4
GNU Lesser General Public License v3.0
10 stars 5 forks source link

Cronjob ohne Webaufruf #16

Closed k-webdesign closed 3 years ago

k-webdesign commented 5 years ago

Hallo Hagen,

wäre der Cronjob über einen Command möglich um nicht über einen URL-Aufruf zu gehen? Das würde auch das Spamming verhindern, denke ich.

VG Kim

do-while commented 5 years ago

Gibt es denn ein Spamming? Du kannst zur Sicherheit einen selbstgewählten Aufrufparameter als Pflicht vorgeben: https://github.com/do-while/contao-BackupDB/wiki/BackupDB-f%C3%BCr-Contao-4.4-(DE)#automatisches-backup

Ich nutze selbst die Kommandozeile eigentlich nie. Nur bei extremen Problemen ist das nötig, ansonsten bekomme ich alle "Probleme" über FTP und Contao-Manager in den Griff.

Da BackupDB die Contao-Umgebung braucht und kein Shell-Script sondern ein PHP-Programm ist, kann ich mir vorstellen, dass die Kommandozeile keinen Vorteil bringt. Wer die Kommandozeile hat, kann doch auch ein mysql_dump direkt machen, wozu dann BackupDB in diesen Installationen?

Anke commented 4 years ago

Verstehe ich das richtig, dass BackupDB auch nicht direkt aufrufbar ist? Host Europe schrieb mir gerade: "Hierbei liegt das Problem an der URL welche Sie für das Skript eingetragen haben. Dort darf keine URL stehen sondern der genaue Pfad in welchem die Skriptdatei liegt sowie der Name der Skriptdatei. Als Beispiel: /www/webseite/cronjop.php"

Und sollte das doch gehen, welche Datei muss ich eintragen? Diese?: /www/contao4/vendor/do-while/contao-backupdb-bundle/src/Resources/contao/controllers/AutoBackupDB.php

BugBuster1701 commented 4 years ago

In einer Crontab stehen normalerweise, wie Host Europe auch schrieb, der Aufruf direkter Dateien drin. Aber, der Aufruf von Backup DB ist per Webzugriff http://www.meineDomain.tld/BackupDB/autobackup startbar. Um das in einen Cron bzw. Crontab eizutragen, musst du per wget einen http Zugriff erzeugen und die Ausgaben umlenken, sonst bekommt man bei jedem Aufruf eventuell eine Mail. 0 2 * * * wget -O - http://www.meineDomain.tld/BackupDB >/dev/null 2>&1 für täglich 2:00 Uhr

Anke commented 4 years ago

Vielen Dank für diesen Tipp. Bin da nicht so versiert, aber habe es mit Hilfe der HE-Anleitungen so hinbekommen:

Eine Datei cron.sh ins Contao-Root gelegt, mit folgendem Inhalt: wget -O - -q "https://meinedomain.de/BackupDB/autobackup?[Parameter]" > /dev/null 2>&1

Die cron.sh wird nun über die Cronjobs im HE-Kundenmenü, wo auch die Ausführungszeiten eingestellt werden, aufgerufen.

Das funktioniert, allerdings gehen keine Mail-Benachrichtigungen mehr an den Systemadmin raus, obwohl in den Contao-Einstellungen so eingerichtet. Das ist nicht allzu tragisch, aber falls euch dazu noch was einfällt ...

do-while commented 3 years ago

Version 1.4.2 zeigt jetzt die URL für den Aufruf an, in die crontab muss man es selbst eintragen.