[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: FTP en auto



Nicolas Couture wrote:
> 
> On Wed, 2003-08-06 at 06:02, Patrick Van Hoof wrote:
> > Bonjour,
> >
> > Je désire utiliser une tâche que je vais mettre dans le cron pour faire les
> > jobs suivants.
> >
> > Sauvegarde de fichiers des bases MYSQL dans un répertoire temporaire
> > Sauvegarde du répertoire HOME dans un répertoire temporaire
> > Envoi en ftp de ces fichiers sur un autre serveur
> >
> > Le tout automatique bien sûr
> >
> > Pour créer les fichiers temporaires, aucun problème.
> > J'ai créé un /var/mybackup et je compresse tout cela avec tar
> >
> > Le problème vient du transfert FTP, j'ai créé un petit fichier avec les
> > commandes suivantes.
> >
> > ftp -n xxx.xxx.xxx.xxx << end
> > us login password
> > bin
> > put /tmp/mybackup/mysql1.tar.gz
> > bye
> >
> > Soit je recois un "acces denied" même d'ailleurs si pour mon test j'ai aussi
> > essayé un fichier dans un des répertoires du home, et sinon je recois un
> > bad command" ???

> Tu peux aussi utiliser expect ( http://expect.nist.gov ) pour
> automatiser un transfer ftp.

#!/usr/bin/expect --
# connect to ftp site

if { [llength $argv] == 0} {
    puts "usage: eftp \[ftp.crc.ca | ftp.muug.mb.ca]"
    exit 1
}

spawn ftp $argv
expect {
    "Name (" {
        expect "):"
        send "ftp\n"
        expect "Password:"
        send "[email protected]\n"
        expect {
           "530 Login incorrect." {
                expect "ftp> "
                send "bye\n"
                expect "221 Goodbye."
           } "230 Guest login" {
                expect "ftp> "
                if { $args == "ftp.crc.ca" } {
                    send "cd
/systems/linux/redhat/ftp.redhat.com/linux/rawhide/i386/RedHat/RPMS\n"
                } elseif { $args == "ftp.muug.mb.ca" } {
                    send "cd /pub/mirrors/linux/redhat/rawhide/i386/RedHat/RPMS"
                }
#                send "reget python-2.2-6.i386.rpm\n"
                expect "ftp> "
                interact
           }
        }
    } "ftp: " {
        expect "ftp> "
        send "bye\n"
        expect "221 Goodbye."
    }
}