Anzeige:
Ergebnis 1 bis 3 von 3

Thema: In Shellscript auf Passwortabfrage reagieren

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.07.2005
    Beiträge
    24

    In Shellscript auf Passwortabfrage reagieren

    Ich habe mir ein Script geschrieben, dass ein Backup von eine Postgres Datenbank machen können sollte .

    Das Problem ist hier leider , dass pg_restore sowie pg_dump keinen Parameter für ein Passwort vorsehen, zumindest hab ich in den Manpages dazu nichts entdeckt .

    Ich hab zwar eine Nettes Buch (Jetzt lerne ich Shell Programmierung) vor mir liegen , aber leider bin ich damit nicht ganz in der Lage mein Problem zu lösen.

    PHP-Code:
    host=$1
    port
    =$2
    user
    =$3
    db
    =$4
    name
    =$5

    /usr/bin/pg_restore --h $host -p $port -U $user -
    $db 
    --disable-triggers -"../backup/${name}db.backup" 
    Wenn ich das Script ausführe kommt nun eine nette kleine Abfrage nach einem Passwort , da das Script jedoch selbst automatisch aufgerufen werden soll ist das natürlich etwas störend weil das Script damit quasi abbricht .

    Kann man der Passwortabfrage aus dem Shellsctipt noch ein Passwort übergeben ?

    Nachtrag :

    1 : Ich habe Version 8.0.3 von Postgre.
    2 : Über Umgebunsvariablen kann ichs leider auch nicht lösen.

    Environment
    PGDATABASE
    PGHOST
    PGPORT
    PGUSER
    Default connection parameters.

    Gruß Sono
    Geändert von sono (15-09-2005 um 16:59 Uhr)
    Member of : http://webfrap.de

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Eine Möglichkeit ist den Stdin des Programms von irgendwo (Datei oder so) statt der Tastatur zu füttern. Also sowas:

    echo "passwort" | /usr/bin/pg_restore -i -h $host -p $port -U $user -d $db --disable-triggers -v "../backup/${name}db.backup"

    Falls das nicht geht solltest du dir mal das Programm expect angucken - das ist recht gut für so Operationen geeignet - d.h. eigentlich hat es nicht wirklich einen anderen Zweck

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    08.07.2005
    Beiträge
    24
    Danke für deine schnelle Hielfe .

    Habs hinbekommen , allerdings jetzt erst mal doch über das passwort als Umgebungsvariable mit "export PGPASSWORD" obwohl das nicht mal in den Manpages steht , aber egal so lange es geht .

    Aber das mit dem expect war ein guter Tip , das bringt mich jetzt bei ein paar anderen Scripten auch gleich weiter .

    Gruß Sono
    Geändert von sono (15-09-2005 um 20:25 Uhr)
    Member of : http://webfrap.de

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •