Ariën
07-10-2011 16:29
gewijzigd op 07-10-2011 16:30
Al eens gekeken naar Bigdump?
http://www.ozerov.de/bigdump/
Mocht je DirectAdmin gebruiken, dan kan je ook de API daarvan aanroepen via een cronjob?
Link gekopieerd
- Aar - op 07/10/2011 16:29:55
Mocht je DirectAdmin gebruiken, dan kan je ook de API daarvan aanroepen via een cronjob?
Ik gebruik DirectAdmin.. Hoe gaat dat dan precies in zijn werking?
Link gekopieerd
Link gekopieerd
Jordi Kroon
10-10-2011 10:57
gewijzigd op 10-10-2011 11:03
Download de class
<?php
include 'httpsocket.php';
$sock = new HTTPSocket;
$sock->connect('JE DOMEIN',2222);
$sock->set_login("INLOGNAAM","INLOGPASS");
$sock->set_method('POST');
$sock->query('/CMD_API_CRON_JOBS',
array(
'action' => 'create',
'domain' => 'JE DOMEIN',
'minute' => 'HOEVEEL MINUTEN',
'hour' => 'WELK UUR',
'dayofmonth' => 'WELKE DAG VD MAAND',
'month' => 'WELKE MAAND IN CIJFERS',
'dayofweek' => 'WELKE DAG VD WEEK',
'command' => 'VOLLEDIG PATH NAAR BESTAND',
));
$result = $sock->fetch_body();
echo $result;
?>
Link gekopieerd
Ariën
10-10-2011 11:13
gewijzigd op 10-10-2011 11:16
En pas die $sock->query aan naar: /CMD_API_SITE_BACKUP, en pas die array aan, zodat je dit krijgt:
<?php
/* Yaddah */
$sock->query('/CMD_API_SITE_BACKUP',
array(
'action' => 'backup',
'select0' => 'database'
));
?>
En dit zou je dan als cronjob kunnen draaien. Als je de class includeert. Gebruik dan wel een volledig pad in je include(), zoals /home/JOUWUSERNAME/domains/JOUWDOMEIN.NL/private_html/da_class.php
Link gekopieerd
Oké, dus ik maak gewoon een mapje aan met die class erin. Vervolgens een nieuw php bestandje met de volgende inhoud:
<?php
include 'httpsocket.php';
$sock = new HTTPSocket;
$sock->connect('JE DOMEIN',2222);
$sock->set_login("INLOGNAAM","INLOGPASS");
$sock->set_method('POST');
$sock->query('/CMD_API_SITE_BACKUP',
array(
'action' => 'backup',
'select0' => 'database'
));
$result = $sock->fetch_body();
echo $result;
?>
En die aanroepen met cron, right?
Link gekopieerd
Correct, gebruik wel het volledige pad naar de httpsocket.php, en was je waardes uiteraard aan ;-).
Link gekopieerd
Oké, ik heb beide bestanden geüpload en even met mijn browser naar 'backup.php' gesurft. Ik krijg een blanco scherm.. Is dat de bedoeling? :P
Het pad naar httpsocket.php klopt, want dat was eerst fout (foutmelding), nu krijg ik dus gewoon helemaal niets te zien.
Link gekopieerd
Ariën
11-10-2011 11:15
gewijzigd op 11-10-2011 11:18
Je zou op zijn minst een result moeten zien.
De backup is gelukt als de Ticket Notifier rechtsbovenaan DA een nieuwe ticket meldt.
- Heb je wel je gegevens (user/pass/domain) goed ingesteld?
- Gebruik eens $sock->set_method('GET'); i.p.v. de genoemde POST.
Zet anders even je error-reporting aan. en display_errors op 1
Link gekopieerd
- Gegevens zijn goed (domain heb ik zonder 'www.')
- GET werkt niet zo min als POST
error-reporting heb ik toch aanstaan? Althans dat denk ik, omdat ik wel een error kreeg toen mijn pad naar httpsocket.php niet klopte..
Link gekopieerd