jakol Posté(e) le 15 août 2005 Partager Posté(e) le 15 août 2005 salut je souhaiterais savoir comment on fait pour écrire un script automatique qui permettrait de faire une sauvegarde automatique de données je me suis renseigné sur cron...mais je n'y comprends pas grand chose... ce serait vraiment sympa si vous pouviez m'aider pour comprendre le fonctionnement d'un script automatique sous linux... merci d'avance pour vos conseils Lien vers le commentaire Partager sur d’autres sites More sharing options...
what Posté(e) le 15 août 2005 Partager Posté(e) le 15 août 2005 Tuto de lea-linux sur cron et at : http://lea-linux.org/admin/admin_tools/automate.html Sur le même site, exemples de scripts de sauvegarde : http://lea-linux.org/trucs/rub.11.html Il y a aussi un tuto sur bash avec quelques liens utiles sur ce forum, et tu trouveras toutes les infos dont tu as besoin sur Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 15 août 2005 Partager Posté(e) le 15 août 2005 D'abord tu crée un script qui fait ce que tu veux... (puisque tu ne demandes pas... enfin pour des sauvegardes il y a dar http://dar.linux.free.fr/ qui peut être utile, sinon y'a la bonne vieille méthode du tar...) Après, tu lance "crontab -e" avec l'utilisateur que tu veux, et tu rajoutes une ligne : M H JDM M JDS commande M=minute : 0-59 H=Heure : 0-23 JDM=Jour Du Mois : 0-31 (le 1er, le 2, etc...) M=Mois : 0-12 ou nom JDS=Jour De la Semaine : 0-7 ou nom (0=7=dimanche) *signifie "n'importe" /y permet d'utiliser un pas Par exemple, */2 prendra toutes les valeur (de l'intervalle), séparées de 2, donc 0,2,4,6 etc... x-y permet de prendre un intervalle x,y,z,... permet de mettre plusieurs valeurs à partir de ça, tu peux combiner, par exemple : 25-45/2,0 */4 */2,10-15 * 0 commande ce qui lancera "commande" chaque dimanche ET tous les mois, une fois tous les deux jours sauf entre le 10 et le 15 où ce sera chaque jour, une fois toutes les 4 heures, juste après l'heure qui passe et une fois toutes les deux minutes entre les minutes 25 et 45... Mais sinon pour un usage courant, c'est plutôt un truc genre : 0 0 * * * commande à minuit de chaque jour, la commande est lancée 0 0 * * 0 commande chaque dimanche à minuit... Lien vers le commentaire Partager sur d’autres sites More sharing options...
jakol Posté(e) le 17 août 2005 Auteur Partager Posté(e) le 17 août 2005 salut et merci pour les réponses j'ai lancé "crontab -e" en tant qu'utilisateur et root ...et il ya le message en anglais "je n'ai pas le droit d'accès..." mais les scripts, on doit les mettre dans /var/spool/cron ?? A+ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 17 août 2005 Partager Posté(e) le 17 août 2005 (pour le script de backup, un petit coup de tar ou de cpio ... cf les commandes man associées) sinon pour recopier une arbo sur une autre machine je recommande unison ... les scripts maison sont mieux dans /usr/local/bin pour l'utilisation de crontab, ça dépend parfois de ta distrib ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 17 août 2005 Partager Posté(e) le 17 août 2005 Moi je procède comme ceci: Je me fais un fichier batch Exemple d'un backup via FTP (/serveur/scripts/ftpsend): ############################## # Script de transfert de données sur srv-bck # ############################## # NOTE: Ce script doit être cédulé à l'aide d'une tâche CRON # Compression et archivage du dossier WWW et Webalizer dans /serveur echo Archivage du site web... tar -czf /serveur/www.tar.gz -C /serveur/ www/ echo Archivage des rapports webalizer... tar -czf /serveur/webalizer.tar.gz -C /serveur/ webalizer/ # Envoi des données WWW et Webalizer sur srv-bkp echo Envoi des données du site web via FTP... ncftpput -u user -p password srv-bkp.domain.com backup/www/ /serveur/www.tar.gz ncftpput -u user -p password srv-bkp.domain.com intra/admin/reports/www/ /serveur/webalizer.tar.gz # Envoi du rapport de scanne Antivirus echo Envoi du rapport antivirus via FTP... ncftpput -u user -p password srv-bkp.domain.com intra/admin/reports/www/virus/ /serveur/virus.txt # Copie des données importantes dans le dossier de sauvegarde echo Sauvegarde des données importantes... tar -czf /serveur/backup/httpd/webmin_webalizer_conf.tar.gz -C /etc/webmin/ webalizer/ tar -czf /serveur/backup/httpd/webmin_cur_and_hist.tar.gz -C /var/lib/ webalizer/ cp /etc/webalizer.conf /serveur/backup/httpd/webalizer.conf cp /etc/httpd/conf/httpd.conf /serveur/backup/httpd/httpd.conf cp /etc/httpd/conf/access.conf /serveur/backup/httpd/access.conf cp /etc/httpd/conf/srm.conf /serveur/backup/httpd/srm.conf cp /etc/httpd/conf/magic /serveur/backup/httpd/magic cp /etc/ftpaccess /serveur/backup/wuftpd/ftpaccess cp /etc/rc.d/fw10 /serveur/backup/rc.d/fw10 cp /etc/rc.d/rc.local /serveur/backup/rc.d/rc.local cp -R /etc/log.d /serveur/backup/ cp -R /etc/cron.hourly /serveur/backup/ cp -R /etc/cron.daily /serveur/backup/ cp -R /etc/cron.weekly /serveur/backup/ cp -R /etc/cron.monthly /serveur/backup/ cp -R /etc/cron.d /serveur/backup/ cp -R /var/spool/cron /serveur/backup/ cp /etc/crontab /serveur/backup/crontab # Compression et archivage du dossier BACKUP et SCRIPTS echo Archivage des données importantes... tar -czf /serveur/backup.tar.gz -C /serveur/ backup/ tar -czf /serveur/scripts.tar.gz -C /serveur/ scripts/ # Envoi d'une copie de sauvegarde des scripts et des configurations echo Envoi des données importantes via FTP... ncftpput -u user -p password srv-bkp.domain.com backup/www/ /serveur/backup.tar.gz ncftpput -u user -p password srv-bkp.domain.com backup/www/ /serveur/scripts.tar.gz Je fais un lien symbolique de ce batch dans /bin pour le rendre exécutable de n'importe où. cd /bin ln -s /serveur/scripts/ftpsend Et finalement je configure une tâche CRON à une certaine heure pour qu'il exécute mon fichier batch ftpsend. Dans le fichier /var/spool/cron/root j'ajoute la ligne: 40 4 * * * /bin/ftpsend Donc à tous les jours à 4:40 ça s'exécute ! ------------------------------ NOTE: Pour CRON, il y a plusieurs façon d'ajouter une tâche. Tout dépendant de ta distribution. Il y a via /var/spool/cron/nom_usager, il y a dans /etc/ que tu peux retrouver des sous-dossier /cron.daily, /cron.weekly, .... et dans le dossier /etc/cron.d également. ----------------------------- Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.