Tache Cron sur dédié pour sauvegarder un site ? - Windows & Software
Marsh Posté le 23-08-2005 à 09:55:50
heu sous linux ?
car si tu commences à utiliser des outils du monde Unix sous Windows alors :
télécharge le service crond puis tar
Marsh Posté le 23-08-2005 à 10:42:00
non cest sous un Serveur Plesk
je ne connais juste pas la commande pour ordonner la sauvegarde
Marsh Posté le 23-08-2005 à 11:00:27
donc il faut que tu fasses un script (tar -zcvf) qui compresse tes différents sites puis que tu l'appelles régulièrement par crond.
Pour rester en charte, demande à un modérateur de déplacer ce topic vers la catégorie OSA.
Marsh Posté le 23-08-2005 à 11:16:01
quel est le repertoire principal à sauvegarder ? /var/www ?
Marsh Posté le 23-08-2005 à 11:21:35
Code :
|
après tu récupères l'archive en /tmp
Marsh Posté le 23-08-2005 à 11:26:00
ok ensuite je lexecute avec cette commande ?
/home/backup/backup.cmd >>/dev/null
Marsh Posté le 23-08-2005 à 11:27:26
rendre exécutable le script : chmod 775 /home/backup/backup.cmd
crontab -e
puis
0 20 * * * /home/backup/backup.cmd >>/dev/null
le script sera exécuté tout les 20h
Marsh Posté le 23-08-2005 à 22:38:08
J'ai essayer seulement ca ne fait rien
QQun pourrait me dire sous SSH quelle commande je dois faire pour lancer le script .cmd ?
Marsh Posté le 23-08-2005 à 22:45:57
Tu l'as rendu exécutable ?
contenu de la crontab ? crontab -e
pour tester le script :
/home/backup/backup.cmd
PS: met plutôt une extension .sh même si linux ne se referre jamais à une extension d'un fichier.
Marsh Posté le 23-08-2005 à 22:51:41
Quand je le lance j'ai ce message :
-bash: script-backup.cmd: command not found
Marsh Posté le 23-08-2005 à 22:52:42
ls -l /home/backup/script-backup.cmd
puis s'il n'est pas exécutable, chmod 775 /home/backup/script-backup.cmd
Marsh Posté le 23-08-2005 à 22:54:05
Je l'ai mis en CHMOD 775 mais j'ai tj ce message :
-bash: script-backup.cmd: command not found
Marsh Posté le 23-08-2005 à 22:54:54
tu tapes quoi dans le prompt ? (et aussi tu te trouves où dans l'arborescence ?)
Marsh Posté le 23-08-2005 à 22:56:44
en fait j'ai mis ce script dans : /home/backup/
ensuite je vais dedans par cd /home/backup/
puis je tape le nom du script
desolé en SSH jsuis pas bon
Marsh Posté le 23-08-2005 à 22:59:58
rapide cours d'unix,
quand tu tapes uniquement le nom d'un programme, linux va chercher celui-ci dans les chemins spécifiés par la variable $PATH. Donc il cherche ton fichier dans /usr/bin, /sbin, /bin... mais pas dans /home/backup
donc pour exécuter le fichier, tu dois lui donner le chemin complet soit : /home/backup/nom_du_script ou ./nom_du_script (./ est le nom du répertoire courant, ../ le nom du répertoire parent)
Marsh Posté le 23-08-2005 à 23:04:58
ok merci
maintenant jai cette erreur quand je le lance :
: Aucun fichier ou répertoire de ce type
et j'ai mis ca dans mon script :
#!/bin/sh
tar -zcvf /backup/synetik-backup.tar.gz home/httpd/vhosts/synetik.net/httpdocs
pourtant home/httpd/vhosts/synetik.net/httpdocs existe bien
j'ai meme essayé avec : /home/httpd/vhosts/synetik.net/httpdocs
Marsh Posté le 23-08-2005 à 23:06:57
j'ai trouvé
il fallait rajouter un /
tar -zcvf /backup/synetik-backup.tar.gz /home/httpd/vhosts/synetik.net/httpdocs/
Marsh Posté le 23-08-2005 à 23:08:16
mmm ca marche quand je lance en dur dans SSH :
tar -zcvf /backup/synetik-backup.tar.gz /home/httpd/vhosts/synetik.net/httpdocs/
seulement si je le met dans le script et que je lance ce script ca marche plus
Marsh Posté le 23-08-2005 à 23:09:49
C'est l'appel au script ou le script qui te retourne cette erreur ?
tape : sh -x <nom du script>
verifie aussi que tu puisses accéder à ton repertoire /home/httpd/vhosts/synetik.net/httpdocs/ et /backup
la ligne de commande doit être :
tar -zcvf /backup/synetik-backup.tar.gz /home/httpd/vhosts/synetik.net/httpdocs/
PS: tu utilises quel soft pour te connecter en SSH ? putty ?
Marsh Posté le 23-08-2005 à 23:12:54
oui putty
J'arrive a acceder au repertoire sans probleme
Voici ce que j'ai en tapant sh -x
+ tar -zcvf /backup/synetik-backup.tar.gz $'/home/httpd/vhosts/synetik.net/httpdocs/\r'
tar: /home/httpd/vhosts/synetik.net/httpdocs/\r: ne peut stat: Aucun fichier ou répertoire de ce type
tar: Statut d'erreur reporté d'erreurs précédentes.
Marsh Posté le 23-08-2005 à 23:15:18
Quel est exactement le contenu de ton script ? car là je n'arrive pas à comprendre ce qui s'est passé
Marsh Posté le 23-08-2005 à 23:16:15
Voici ce quil y a dedans :
#!/bin/sh
tar -zcvf /backup/synetik-backup.tar.gz /home/httpd/vhosts/synetik.net/httpdocs/
Marsh Posté le 23-08-2005 à 23:19:38
le chemin " /home/httpd/vhosts/synetik.net/httpdocs/" est accessible ? il n'y a pas d'erreur ?
Marsh Posté le 23-08-2005 à 23:23:17
j'ai tous mes fichiers qui apparaissent
ca marche bien
je capte pas pourquoi il ne veut pas marcher le script
si je met la commande en dur ca marche
Marsh Posté le 23-08-2005 à 23:25:13
je crois avoir compris as tu utilisé un éditeur de texte windows pour faire le script ? (présence de \r)
Utilise plutôt vi
Aide sur vi :
ouvrir un fichier : vi <le nom du fichier>
puis il y a 2 modes : un mode saisie de texte et un autre permettant d'appliquer des fonctions.
pour passer d'un mode à l'autre : touche "echap"
en gros :
vi <ton script>
appuie sur Insert puis tape ton text quand tu auras fini, tape sur "echap" puis ":" puis tape wq!
Si tu n'y arrives pas, utilise nano (plus simple)
nano <le nom de ton fichier>
Marsh Posté le 23-08-2005 à 23:32:16
autre chose, dans le script met /bin/tar au lieu de tar car crond a l'habitude de perdre le $PATH.
De plus n'oublie pas de rediriger la sortie de tar, sinon ça ne marchera pas sous cron.
Donc dans ta crontab tu dois avoir :
0 20 * * * /home/backup/<le script> >> /dev/null
Marsh Posté le 23-08-2005 à 23:35:35
ok je vais mettre /bin/tar
Dis moi jabuserai de te demander si tu connais la fonction pour sauvegarder une base sql en .sql ? afin de la re-importer ensuite
Marsh Posté le 23-08-2005 à 23:37:35
si tu as accès à la commande mysqldump puis pour recharger un mysql < le_fichier_sql
Marsh Posté le 23-08-2005 à 23:40:42
Je vois a peu pres quelle commande utiliser mais tj pareil je connais pas la commande exacte pour lancer la sauvegarde
Marsh Posté le 23-08-2005 à 23:42:05
Exemple pour récupérer une bdd ma_bdd sous un compte admin
mysqldump -C -B ma_bdd -h ip_du_serveur -u admin -p mon_mot_de_passe > backup.sql
plus d'information "man mysqldump"
Marsh Posté le 23-08-2005 à 09:53:21
Salut
J'ai un dédié avec 5/6 sites hebergés dessus
J'aimerai pouvoir sauvegarder chaque repertoire du site tous les jours dans un espace sur le serveur
QQun pourait me donner un coup de main ?
merci