Script de sauvegarde FTP
Résolu/Fermé
A voir également:
- Robocopy ftp
- Robocopy download - Télécharger - Utilitaires
- Core ftp - Télécharger - Téléchargement & Transfert
- Ftp utility - Forum Réseau
- Filezilla ftp - Télécharger - Téléchargement & Transfert
- Ftp //192.168.l.2121 - Forum Réseau
2 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 420
20 mars 2012 à 17:33
20 mars 2012 à 17:33
Salut,
Quelle distrib ?
Quel shell ?
D'où lances-tu ton script ?
Sous quel système l'as-tu écris ?
$USER est une variable système, donc changer de nom ;-(
Quelle distrib ?
Quel shell ?
D'où lances-tu ton script ?
Sous quel système l'as-tu écris ?
$USER est une variable système, donc changer de nom ;-(
Salut zipe31, merci de m'avoir répondu!
Ubuntu 10.4 TLS
(Shell = sh? j'y connais rien :o)
je lance mon script de /home/root/backup
je l'ai édité depuis vim
Je dois utiliser quoi à la place de $USER? je pige pas trop
Mon user sur le ftp est intranet, je devrais donc mettre quoi?
Encore merci!
Ubuntu 10.4 TLS
(Shell = sh? j'y connais rien :o)
je lance mon script de /home/root/backup
je l'ai édité depuis vim
Je dois utiliser quoi à la place de $USER? je pige pas trop
Mon user sur le ftp est intranet, je devrais donc mettre quoi?
Encore merci!
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 420
Modifié par zipe31 le 20/03/2012 à 18:18
Modifié par zipe31 le 20/03/2012 à 18:18
(Shell = sh? j'y connais rien :o)
Tu devrais mettre "#! /bin/bash" comme shebang dans ton script, car sur Ubuntu le shell par défaut est "dash" (sh est en fait un lien symbolique qui pointe sur dash) et il y a quelques petites différences notoires ;-\
je lance mon script de /home/root/backup
Ok, je voulais juste être sûr que tu sois dans le même répertoire lorsque tu lances la commande "tar".
je l'ai édité depuis vim
Peux-tu faire un copier/coller du résultat de la commande :
Je dois utiliser quoi à la place de $USER? je pige pas trop
Mon user le ftp est intranet, je devrais donc mettre quoi?
En fait mieux vaut ne pas utiliser des variables déjà définies. Par exemple à la place tu peux mettre :
Est-ce que chaque ligne de ton script tapées une par une dans le terminal, marchent ?
Tu devrais mettre "#! /bin/bash" comme shebang dans ton script, car sur Ubuntu le shell par défaut est "dash" (sh est en fait un lien symbolique qui pointe sur dash) et il y a quelques petites différences notoires ;-\
je lance mon script de /home/root/backup
Ok, je voulais juste être sûr que tu sois dans le même répertoire lorsque tu lances la commande "tar".
je l'ai édité depuis vim
Peux-tu faire un copier/coller du résultat de la commande :
cat -A saveftp.sh
Je dois utiliser quoi à la place de $USER? je pige pas trop
Mon user le ftp est intranet, je devrais donc mettre quoi?
En fait mieux vaut ne pas utiliser des variables déjà définies. Par exemple à la place tu peux mettre :
user_ftp='INTRANET' password_ftp='XXXXX'
Est-ce que chaque ligne de ton script tapées une par une dans le terminal, marchent ?
(au fait j'avais fait un chmod +x pour le rendre exécutable, pas de problème?
ça me met après modifications des variables
root@INTRANET:/home/root/backup# ./saveftp
glpi.sql
ocs.sql
saveftp
Connected to 172.17.1.212.
220
Name (172.17.1.212:root): INTRANET
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye.
./saveftp: line 15: INTRANET : commande introuvable
./saveftp: line 16: admingp38 : commande introuvable
./saveftp: ligne 17 : cd: /MySQL: Aucun fichier ou dossier de ce type
./saveftp: line 18: put : commande introuvable
root@INTRANET:/home/root/backup# ls
backup-mardi.tar.gz glpi.sql ocs.sql saveftp
root@INTRANET:/home/root/backup#
Les commandes fonctionnent jusqu'au FTP
là j'ai du rentrer à la main le login et mdp après exécution du script
ça me met après modifications des variables
root@INTRANET:/home/root/backup# ./saveftp
glpi.sql
ocs.sql
saveftp
Connected to 172.17.1.212.
220
Name (172.17.1.212:root): INTRANET
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye.
./saveftp: line 15: INTRANET : commande introuvable
./saveftp: line 16: admingp38 : commande introuvable
./saveftp: ligne 17 : cd: /MySQL: Aucun fichier ou dossier de ce type
./saveftp: line 18: put : commande introuvable
root@INTRANET:/home/root/backup# ls
backup-mardi.tar.gz glpi.sql ocs.sql saveftp
root@INTRANET:/home/root/backup#
Les commandes fonctionnent jusqu'au FTP
là j'ai du rentrer à la main le login et mdp après exécution du script
mon fichier ressemble à ça maintenant
#!/bin/bash
mysqldump -u glpiuser -pglpi glpidb > /home/root/backup/glpi.sql
mysqldump -u ocs -pocs ocsweb > /home/root/backup/ocs.sql
#Compression des fichiers du répertoire .sql
tar zcvf backup-'date +%A'.tar.gz *
#variable
PORT='21'
user_ftp='INTRANET'
passwd_ftp='XXXXXX'
HOST='172.17.1.212'
#Envoyer sur le NAS en FTP
ftp $HOST $PORT
$user_ftp
$passwd_ftp
cd /MySQL
put /home/root/backup-'date +%A'.tar.gz
#!/bin/bash
mysqldump -u glpiuser -pglpi glpidb > /home/root/backup/glpi.sql
mysqldump -u ocs -pocs ocsweb > /home/root/backup/ocs.sql
#Compression des fichiers du répertoire .sql
tar zcvf backup-'date +%A'.tar.gz *
#variable
PORT='21'
user_ftp='INTRANET'
passwd_ftp='XXXXXX'
HOST='172.17.1.212'
#Envoyer sur le NAS en FTP
ftp $HOST $PORT
$user_ftp
$passwd_ftp
cd /MySQL
put /home/root/backup-'date +%A'.tar.gz
et le bash -x saveftp donne:
root@INTRANET:/home/root/backup# bash -x saveftp
+ mysqldump -u glpiuser -pglpi glpidb
+ mysqldump -u ocs -pocs ocsweb
++ date +%A
+ tar zcvf backup-mardi.tar.gz glpi.sql ocs.sql saveftp
glpi.sql
ocs.sql
saveftp
+ PORT=21
+ user_ftp=INTRANET
+ passwd_ftp=xxxxx
+ HOST=172.17.1.212
+ ftp 172.17.1.212 21
Connected to 172.17.1.212.
220
Name (172.17.1.212:root):
A noter qu'il faudrait que j'efface après de mon répertoire /home/root/backup le backup du jour (je compte faire un cron après) et qu'il faudrait que genre tout les 5 jours j'efface les vieux backup du ftp..mais bon :D
root@INTRANET:/home/root/backup# bash -x saveftp
+ mysqldump -u glpiuser -pglpi glpidb
+ mysqldump -u ocs -pocs ocsweb
++ date +%A
+ tar zcvf backup-mardi.tar.gz glpi.sql ocs.sql saveftp
glpi.sql
ocs.sql
saveftp
+ PORT=21
+ user_ftp=INTRANET
+ passwd_ftp=xxxxx
+ HOST=172.17.1.212
+ ftp 172.17.1.212 21
Connected to 172.17.1.212.
220
Name (172.17.1.212:root):
A noter qu'il faudrait que j'efface après de mon répertoire /home/root/backup le backup du jour (je compte faire un cron après) et qu'il faudrait que genre tout les 5 jours j'efface les vieux backup du ftp..mais bon :D