Neu Shopdatenbank SQL Export

BlueEyePhoenix

Gut bekanntes Mitglied
3. Januar 2017
276
25
Hallo Community,

ich hab da mal eine Frage kann ich irgendwie über Powershell ein Script auf der Shopdatenbank ausführen und die Tabellen passend Laden?

versuche das ganze über einen Invoke-Sqlcmd befehl. Das SQL-Script habe ich bereit gespeichert. Mit der Lokalen Datenbank habe ich auch kein Problem da komme ich problemlos an meine CSV. Aber wenn ich das Gleiche über Hetzner versuche bekomme ich nichts ausgeworfen. Wie kann ich es umsetzten das ich die Abfrage regelmäßig wöchentlich herunterladen. Habe an einen Cronjob gedacht aber das habe ich noch nicht gemacht. Kennt dort jemand einen guten Guide der mir da weiterhelfen kann.

Für Hilfestellung wäre ich dankbar.

Vielen Dank
 

hii

Gut bekanntes Mitglied
6. Januar 2009
138
9
NRW
Schau mal hier... Hetzner hat ein ganz gutes Wiki um Cornjobs zu erstellen: https://wiki.hetzner.de/index.php/KonsoleH:Cronjob-Manager

In der Konsoleh findest Du den Cornjob Manager. hier werden die Einstellungen für den Corn eingestellt.
Als Beispiel für den Punkt "Skript (absoluter Pfad)" haben wir hier: /home/httpd/cgi-bin/php54-fcgi-starter.fcgi /usr/www/users/#DEIN-USER-NAME#/Pfad/zum/Skript/DeinSkript.php"
 

BlueEyePhoenix

Gut bekanntes Mitglied
3. Januar 2017
276
25
Wenn ich das richtig verstanden haben bekomme ich den Cron nur als php abgewickelt somit muss ich ein script schreiben welches auf die db zugreift und die passenden daten über einen Select befehl selektiert und herunterlädt. Das kann was werden.
 

BlueEyePhoenix

Gut bekanntes Mitglied
3. Januar 2017
276
25
Hallo Commuity,

hab jetzt mein php script welches als cron angestoßen werden soll und mir eine csv speichern soll dieses sieht wie folgt aus:

PHP:
<?php

$csv_filename = 'db_export.csv';

$hostname = "localhost";
$user = "Benutzer";
$password = "passwort";
$database = "meineDB";
$port = 3306;

$pdo = new PDO ('mysql:host=localhost;dbname=meineDB', 'Benutzer', 'passwort');
if (PDO_error()){
    die("Verbindungsfehler" - PDO_error());
}
$csv_export = '';

$query = PDO_query($pdo, "
SELECT s_articles_details.articleID,
s_articles_details.ordernumber,
s_articles_prices.price,
s_articles_lives.active,
s_articles_lives.valid_from,
s_articles_lives.valid_to,
s_articles_live_prices.endprice,
s_articles_live_prices.endprice * 1.19 AS Brutto
FROM s_articles_details
INNER JOIN s_articles_lives ON s_articles_details.articleID = s_articles_lives.article_id
INNER JOIN s_articles_live_prices ON s_articles_lives.id = s_articles_live_prices.id
INNER JOIN s_articles_prices ON s_articles_details.articleID = s_articles_prices.articleID
WHERE s_articles_prices.pricegroup = 'EK' AND s_articles_prices.from = '1' ");

$field = PDO_field_count($pdo);

for ($i = 0; $i < $field; $i++){
    $csv_export.= PDO_fetch_field_direct($query, $i)->name.';';
}
$csv_export.='';

while($row = PDO_fetch_array($query)){
    for($i = 0; $i < $field; $i++) {
     $csv_export.= '"'.$row[PDO_fetch_field_direct($query, $i)->name].'";';     
    }
$csv_export.='';
}

header("Content-type: text/x-csv");
header("Content-Disposition: attachment;filename=".$csv_filename."");
echo($csv_export);

?>

leider passiert aber kein download wenn ich den cron anstoße. Sieht evtl jemand meinen Fehler?
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.873
562
Wenn ich das richtig verstanden haben bekomme ich den Cron nur als php abgewickelt somit muss ich ein script schreiben welches auf die db zugreift und die passenden daten über einen Select befehl selektiert und herunterlädt. Das kann was werden.
Natürlich kann man jedes beliebige Skript mit Cron zeitgesteuert ausführen.
Du bist da nicht auf php angewiesen.
 

Ähnliche Themen