Author Topic: XML config location  (Read 5434 times)

kpp

  • Newbie
  • *
  • Posts: 4
  • Karma: 1
    • View Profile
XML config location
« on: June 19, 2014, 02:38:43 PM »
I am wondering if anyone knows what the file location is for the config.xml, the back-up file you can obtain at backup/restore in askozia. so I can access it with a different application without the use of the askozia web-interface.

So server-root/ "location to file"
Where is it stored?

I need this because I was asked to create a small dashboard where the users of the system could see their settings without being able to change any vulnerable settings like provider settings etc.(I imagine many people would enjoy it, if this existed in askozia) However to download and update this file in my own app each time a change is made in askozia is "too much work". Also restoring it makes the askozia system go down for 2 minutes rendering all users unable to call and receive .

thanks in advance kpp

Markus Ehlers

  • Askozia Staff
  • Full Member
  • *
  • Posts: 87
  • Karma: 3
    • View Profile
Re: XML config location
« Reply #1 on: June 19, 2014, 05:57:30 PM »
Hello kpp,

the file is located in

Mainfolder /cf/conf/config.xml

Have a nice day!

Markus :)

kpp

  • Newbie
  • *
  • Posts: 4
  • Karma: 1
    • View Profile
Re: XML config location
« Reply #2 on: June 23, 2014, 09:25:56 AM »
That location doesn't seem to exist, I get a 404 if I try to open it with php.

This is a simple php script to open a file from a remote server and show its contents in the browser.
$url = "http://user:pass@urltoaskozia/cf/conf/config.xml"; //doesnt work
 "http://user:pass@urltoaskozia/cf/conf_path/config.xml"; //doesnt work either.
 "http://user:pass@urltoaskozia/index.php"; //does work, but its not the file I need.
$file = file_get_contents($url);
echo $file

This gives me: "failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found"

I am using version askozia pbx 3.0

Ill go see if I can use this code to find the location myself. Help would still be appreciated though.

Thanks kpp
« Last Edit: June 23, 2014, 09:31:25 AM by kpp »

kpp

  • Newbie
  • *
  • Posts: 4
  • Karma: 1
    • View Profile
Re: XML config location
« Reply #3 on: June 24, 2014, 12:44:13 PM »
found an alternate solution for my problem, I currently run a cron job each night that will open the system_backup.php page and send in the required POST variables.

$url1 = "xml location";
$url2 = "http://user:pass@askoziasite.com/system_backup.php";

$postParams['conffile'] = '@'.realpath($url1);
$postParams['Restore'] = urlencode('Restore configuration');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postParams);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);

cityedvlinz

  • Full Member
  • ***
  • Posts: 67
  • Karma: 1
    • View Profile
    • CITYEDV.AT
Re: XML config location
« Reply #4 on: June 01, 2015, 09:55:41 PM »
Hallo,

nachdem ich nun auch nicht immer manuell meine Backups ziehen wollte, habe ich mich mal ein wenig hier umgesehen im Forum und bin dabei auch dieses Posting gestossen.

Code: [Select]
$url1 = "xml location";
$url2 = "http://user:pass@askoziasite.com/system_backup.php";

$postParams['conffile'] = '@'.realpath($url1);
$postParams['Restore'] = urlencode('Restore configuration');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postParams);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);

Dieses kleine Skript habe ich in eine php-Datei gepackt und diese mit "chmod 777" ausführbar gemacht.

Die Zeile $url2 = "http://user:pass@askoziasite.com/system_backup.php"; habe ich mit meinen Daten gefüllt.

Dann die Datei mit "php -f scriptname.php" auf meinem Server gestartet.

Ich bekomme zwar keine Fehlermeldung, aber es landet auch kein Backup der Telefonanlage auf dem Server.

Was habe ich hier falsch gemacht oder gibt es bereits eine bessere Lösung für ein automatisches Backup, was bevorzugt aus der Ferne abgeholt werden sollte?

Herzlichen Dank für jede Hilfe!

Beste Grüße,
Jürgen
Owner of a askozia license / Besitzer eine Askozia Lizenz

goseph

  • Hero Member
  • *****
  • Posts: 841
  • Karma: 35
    • View Profile
Re: XML config location
« Reply #5 on: June 01, 2015, 10:00:36 PM »

cityedvlinz

  • Full Member
  • ***
  • Posts: 67
  • Karma: 1
    • View Profile
    • CITYEDV.AT
Re: XML config location
« Reply #6 on: June 01, 2015, 10:12:37 PM »
Hallo,

vielen Dank für diesen Tipp, das habe ich nicht gefunden. Ehrlich gesagt bin ich auch so ein klein wenig verwöhnt von PHP und denke meist gar nicht weiter. Aber irgendwie gefällt mir diese Lösung schon ganz gut und ich werde es ausprobieren.

[Einige Minuten später]

In einem kurzen Test hat das Backup von "Konfiguration" und "Storage" wunderbar funktioniert und die Dateien landen am externen Server.

Momentan bin ich noch am überlegen, ob ich mit diesen beiden Speicherungen tatsächlich wieder alles herstellen kann? Gesprächsaufzeichnungen, Faxarchiv, Konfiguration ist ja alles da. Aber wo werden nun die Dinge aus dem "Call Flow" gespeichert? Oder bin ich heute einfach schon ein wenig erledigt im oberen Stockwerk...  ;D

Sicher erscheint mir der ganze Spaß auch zu sein...

Ich glaube, das läßt sich einsetzen. ;)

Lg, Jürgen
Owner of a askozia license / Besitzer eine Askozia Lizenz

goseph

  • Hero Member
  • *****
  • Posts: 841
  • Karma: 35
    • View Profile
Re: XML config location
« Reply #7 on: June 01, 2015, 10:16:57 PM »
Call-Flows werden über die XML mit gesichert.
Wie die XML über CURL gesichert wird steht hier:
http://forums.askozia.com/index.php/topic,2655.msg12955.html#msg12955
« Last Edit: June 01, 2015, 10:34:12 PM by goseph »

cityedvlinz

  • Full Member
  • ***
  • Posts: 67
  • Karma: 1
    • View Profile
    • CITYEDV.AT
Re: XML config location
« Reply #8 on: June 01, 2015, 10:43:47 PM »
Hallo,

Cool, also meine Backups sind gespeichert, wenn den Befehl direkt am Server ausführe.

Aber wie übergebe ich bei Curl einen Pfad, wo das Backup hingespeichert wird?

Von Curl habe ich sogut wie kaum eine Ahnung - abgesehen davon, dass es existiert. ;-)

Lg, Jürgen



LÖSUNG GEFUNDEN:

Download Konfiguration:
Code: [Select]
curl -u admin:PASSWORD -d Download=Download%20configuration http://ASKOZIA-IP/system_backup.php -o /DIRECTORY/SUBDIRECTORY/ASKOZIA.YOURDOMAIN.COM-`date +%Y%m%d%H%M%S`.xml
Download Storage:

Code: [Select]
curl -u admin:PASSWORD -d Storage=Storage http://ASKOZIA-IP/system_backup.php -o /DIRECTORY/SUBDIRECTORY/Askozia_Storage_Backup-`date +%Y%m%d%H%M%S`.tar.gz
Einfach "/DIRECTORY/SUBDIRECTORY/" entsprechend dem Verzeichnis anpassen. ;)



Weiteres: Jetzt muss ich noch überlegen, wie ich nur eine begrenzte Anzahl gespeichert lasse (z.B. max. 7 Tage).
« Last Edit: June 01, 2015, 11:21:56 PM by cityedvlinz »
Owner of a askozia license / Besitzer eine Askozia Lizenz

goseph

  • Hero Member
  • *****
  • Posts: 841
  • Karma: 35
    • View Profile
Re: XML config location
« Reply #9 on: June 01, 2015, 11:41:42 PM »
Ich bin immer noch dafür:
Askozia virtualisieren und dann ist das mit den Backups auch gleich gelöst  ;)
So kann man auch wunderbar "spielen" ohne Angst zu haben.
« Last Edit: October 16, 2016, 02:07:25 AM by goseph »

cityedvlinz

  • Full Member
  • ***
  • Posts: 67
  • Karma: 1
    • View Profile
    • CITYEDV.AT
Re: XML config location
« Reply #10 on: June 01, 2015, 11:43:38 PM »
Hallo,

Ja, da gebe ich dir vollkommen recht...

Aber bei unserem Anbieter müssen wir die Netzwerkkonfiguration manuell anpassen und das funktioniert mit Askozia dann nicht.

Siehe dazu: http://forums.askozia.com/index.php/topic,3007.0.html

Das Thema habe ich leider streichen müssen. :-(

Lg, Jürgen
Owner of a askozia license / Besitzer eine Askozia Lizenz

toxicfusion

  • Sr. Member
  • ****
  • Posts: 171
  • Karma: 6
    • View Profile
Re: XML config location
« Reply #11 on: June 03, 2015, 03:43:41 PM »
For information on this curl cron job would be great. I'm looking for something like this for myself.

As Im having difficulty getting the curl to download and output the .xml and tar.gz file to a remote FTP server.

We need this as a developmental option..  All other PBX's on market have back-up to FTP server option (or more advanced backup options)

Its my understanding, can easily make a CRON job -- however, what good is it to have it run and back-up;  when the back-ups need to be stored on a different disk or storage means?

Could always have the curl job save the backup files to /usbstorage/   and create a directory for it.    Only then would be able to download/retrieve the file via SSH or FTP connection.   Also note, the machine has to be ONLINE and functional to recover said file(s).




cityedvlinz

  • Full Member
  • ***
  • Posts: 67
  • Karma: 1
    • View Profile
    • CITYEDV.AT
Re: XML config location
« Reply #12 on: June 03, 2015, 04:01:31 PM »
Hallo,

also ich habe den CRON jetzt laufen gehabt, aber es funktioniert nur an der Shell.

Lasse ich den Cron über unseren CPanel-Server laufen erhalte ich folgende Ausgabe:

Code: [Select]
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information

Eine Lösung konnte ich nicht direkt finden, aber ich habe das Problem auf eine andere Weise umgangen:

1. Eine Datei angelegt und dort die beiden Befehle untereinander reingeschrieben.
2. Diese Datei ausführbar gemacht (chmod 700 dateiname).
3. Dann in CPanel diese Datei in den Cron eingetragen.

Damit funktioniert es, wenn es auch ein Umweg ist, den ich hier mache. Und ganz sauber, kommt es mir auch nicht vor. Interessant wäre auch, wie man es realisieren könnte, dass nur z.B. 7 Tage gesichert werden und dann die älteste Version entsorgt wird. Daher wäre ich eher bei einer PHP-Lösung gewesen, da ich davon eine Ahnung habe. Aber das klappt ja anscheinend nur mit enormen Aufwand.

Bessere Lösung? Ich und einige andere wären sicherlich daran interessiert. ;)

Lg, Jürgen
Owner of a askozia license / Besitzer eine Askozia Lizenz

handarbyte

  • Jr. Member
  • **
  • Posts: 48
  • Karma: 5
    • View Profile
Re: XML config location
« Reply #13 on: June 03, 2015, 11:29:10 PM »
Aus der Huefte wuerde ich darauf tippen, dass Du in der crontab mehr (doppelte) Anfuehrungsstriche braeuchtest
aber sowas hatte ich auch schon und habe es auch so geloest. Ich faende eher mehrere Zeilen in der crontab fuer
eine Aufgabe unsauber.

Ich bin keine Shell-Freak und klaue mir auch das meiste aus dem Internet zusammen, aber in dem Fall muss man
eigentlich nur noch eine Zeile aus dem hier:

http://stackoverflow.com/questions/2960022/shell-script-to-count-files-then-remove-oldest-files

als dritte einfuegen, und schon sollten bei einem taeglichen Lauf immer die letzten n Tage erhalten bleiben.

Google: "shell script keep last files" liefert da sicher noch viel mehr Varianten, und Diskussionen ueber die
Eleganteste Loesung, aber das war die erste, die positiv bestaetigt wurde. ;-)

Gruss

handarbyte

cityedvlinz

  • Full Member
  • ***
  • Posts: 67
  • Karma: 1
    • View Profile
    • CITYEDV.AT
Re: XML config location
« Reply #14 on: June 24, 2015, 02:34:33 PM »
Hallo,

ich habe den Cronjob auf einem externen System nun einige Tage laufen gehabt. Die Backups habe ich nur Nachts gezogen, da ich nur ca. 100kb/s an Uploadgeschwindigkeit von der Askozia habe. Mein Backup dauert daher auch entsprechend lange. Was mich aber vielmehr dabei stört ist die hohe Systemlast und die volle RAM-Auslastung von 97% (bei 8 GB Speicherausgang). Die Auslastung des Speichers geht auch nicht mehr zurück, wenn das Backup erledigt ist.

Gestern Nacht ist die Anlage wegen zu hoher Last scheinbar sogar abgestürzt... (*sauer-bin*).

Irgendwie gefällt mir diese Lösung nicht...

Wäre es denkbar, dass Askozia eine einfache aber brauchbare Backuplösung ins System einbaut? (Feature Wunsch).

Lg, Jürgen
Owner of a askozia license / Besitzer eine Askozia Lizenz