Shell Script - Générateur de packages de mise à


1 Estrelas2 Estrelas3 Estrelas4 Estrelas5 Estrelas (4 votes, moyenne: 4.50 sur 5)
Loading ... Chargement en cours ...

Bonjour les gars.

Aujourd'hui, je vais montrer comment le script qui lit une mise à jour du SVN et crée un package zippé avec seulement les fichiers qui ont changé d'une révision à l'autre. Pour cela, nous utilisons un script shell. Oui! si vous exécutez Windows se déroulera ce Mamata !!!!!

D'abord je voudrais dire que je ne suis pas expert en script shell, et encore moins sous Linux. Je suis juste un gars qui aime et cherche à les utiliser dans les jours à jour pour rendre les installations, la productivité et de plaisir.

Pour la raison décrite dans le paragraphe précédent, ce script pourrait être grandement améliorée. Mais réponds-moi parfaitement et m'a fait de réduire le temps de mettre à jour mon environnement à seulement 20 minutes à 3 icon smile Shell Script   Gerador de pacotes de atualização

Alors allons-y!

Il serait agréable de vous connaître un peu les sujets ci-dessous pour être en mesure de suivre le raisonnement:

  • Linux (pour notre scritp fonctionne uniquement sur ​​celui-ci);
  • Faire des choses en ligne comanto (car il est plus élégant);
  • SVN sur la ligne de commande (afin de comprendre le script meilleure);

Maintenant oui, allons-y!

L'idée est simple: Lire le journal de la commande "svn update" et il commence à avoir la liste des fichiers modifiés / créés / supprimés.

Vous connaissez le format de ce journal? lorsque vous exécutez la commande "svn update" qui apparaît sur votre fin? quelque chose comme l'image ci-dessous à droite?

svn update 300x213 Shell Script   Gerador de pacotes de atualização Résultat de svn update

Eh bien, nous allons utiliser le caractère de redirection de sortie pour faire de ce journal est écrit dans un fichier. Comment faire cela? Simple! comme ceci:

"Svn update> arquivo_de_log.log"

Voyez comment notre script devient:

svn update arquivo de log 300x213 Shell Script   Gerador de pacotes de atualização Exécution svn update et l'envoi de la sortie vers un fichier

Maintenant nous devons faire notre script lire les lignes du fichier généré pour décider quoi faire. À cette fin, nous allons utiliser le "arquivo_de_log.log chat." Commande Environ cat affiche encore d'un fichier sur l'écran.
Cliquez ici pour voir plus d'informations sur cette commande.

Mais, non seulement avec le chat. Besoin de faire une boucle pour lire chaque ligne du fichier.
Mais pour faciliter, qu'en créant un fichier d'écrire notre script?

vim script.sh 300x213 Shell Script   Gerador de pacotes de atualização Création d'un fichier en utilisant l'éditeur de texte Vim

Voyez comment cela est devenu notre script:

script.sh 300x259 Shell Script   Gerador de pacotes de atualização

Lançons notre script et voir le résultat:

bash script.sh 300x213 Shell Script   Gerador de pacotes de atualização

L'exécution du script que nous venons de créer

atualizacao.zip 300x284 Shell Script   Gerador de pacotes de atualização

L'ouverture du fichier. Zip créé peut voir qu'il a mis tous les nouveaux fichiers / changé

Nous!

Fondamentalement, le «noyau» est prêt ... bien sûr que nous pouvons apporter plusieurs améliorations dans ce script. J'ai fait quelques et je vais poster le code ci-dessous complète.
Si vous avez des idées à mettre en œuvre dans le poste et commentaires ici pour partager leurs connaissances.
Si vous écrire ce script en DOS peut également envoyer des icon smile Shell Script   Gerador de pacotes de atualização

Version améliorée:

  1. # / Bin / bash
  2. claires
  3. echo "Starting package génération pour mettre à jour"
  4. date = `date +% d.% m.% Y% H%` MHS
  5. # Récupérer la version actuelle
  6. from = `svnversion`
  7. # Suppression du 'M' version de l'affaire a
  8. d'= $ {de / M /}
  9. from = `expr $ de + 1`
  10. echo "la révision actuelle: $ de«
  11. echo "Lancement svn update"
  12. svn update> update.log
  13. # Récupérer l'examen après la mise
  14. d'= `svnversion`
  15. # Suppression de la révision actuelle de la M
  16. d'= $ {au / M /}
  17. echo "Mise à jour vers la révision de $ à«
  18. # Si nous n'avons pas besoin de mettre à jour l'interrompt le script
  19. if [-eq $ $ à partir de], puis
  20. echo "Pas besoin de mise à niveau."
  21. la sortie
  22. fi
  23. # Créer un nom pour le paquet
  24. file_zip = "update-de-à-$ $ $ à data.zip"
  25. echo "paquet qui sera généré: $ file_zip"
  26. # Le fichier journal qui sera analysée (resuldado un svn update)
  27. file_log = "update.log"
  28. echo "Lecture du fichier journal généré par svn update"
  29. $ Data = `cat` file_log
  30. # Valable possibilités: A, D et U
  31. last_line = ""
  32. for i in $ data
  33. des
  34. if [-e $ i], puis
  35. if [$ last_line = "D"], puis
  36. echo "Garbage: $ i"
  37. d'autre
  38. if [! -D $ i], puis
  39. echo "Ajout tyrolienne à: $ i"
  40. zip-r les mises à jour / file_zip $ i> / dev / null
  41. fi
  42. fi
  43. fi
  44. $ I = last_line
  45. fait
  46. echo "Suppression update.log"
  47. update.log rm

Cliquez ici pour télécharger. Sh

Comme vous l'avez vu, le mess avec Shell Script est pas sept bixo têtes. Quand nous avons commencé à jouer avec elle les possibilités se dessinent dans notre tête et nous faire des outils pour nous aider.

Si vous avez un script shell et vous voulez partager avec les gens me contacter et rendre disponible ici sur le blog.

Étreintes

  1. 4 Responses to "Script Shell - packages de mise générateur"

  2. Très cool, shell / script bash toujours faire des choses très intéressantes et qui rend la vie beaucoup plus facile pour un programmeur.

    Dans ce cas, les fichiers modifiés pour obtenir est très bon, parce que parfois besoin d'aller uniquement les fichiers modifiés via FTP, et oh tellement plus facile. Une ressource qui peut être utilisé aussi les fichiers de log svn pour obtenir un examen, avant la dernière validation, peuvent obtenir les fichiers modifiés à tout examen, je pense qu'il devrait ressembler à:

    svn log-v-r [révision] http://hostsvn.com.br/repo

    il n'y avait que quelques-uns comprennent "si" dans le script qui fonctionne.

    Voir la balle, mon pote!

    Répondre Répondre

    Par Michael Mafort (7 commentaires) sur 06/04/2010

  3. Absolument. Son beaucoup.

    Dans le script que je dirige dans mon travail, j'ai créer un fichier avec les journaux de la gamme dans le zip et d'ouvrir l'option prompt à Oui / Non pour envoyer le fichier vers le serveur automatiquement via FTP.

    Dans la Shell ont un autre serveur qui décompresse le fichier et quittez par la mise en chmod 755 sur chaque fichier (je sais que ce pourrait être différent, mais le serveur n'est pas avec nous.)

    Merci pour la contribution mon ami! Si vous avez plus d'idées mis là! Rsrsrsrsrsrs

    Répondre Répondre

    Par Marcelo Sabadini (109 commentaires) sur 06/04/2010

  4. OOh ... je sais cela, hehehe

    Répondre Répondre

    Par Rodrigo (2 commentaires) sur 09/03/2010

  5. Il est le très hehehhe

    Mon Flw cher!

    Répondre Répondre

    Par Marcelo Sabadini (109 commentaires) sur 09/04/2010

Placer un commentaire

Commentaire liens doivent être nofollow libres .

adipex pas cher complément des applaudissements Tramadol en ligne les temps d'insolence voyageant interagissant Acheter Modalert spectateurs complètent interagissant discrimination chants Ordre Xanax recyclage doriques queue discrimination clonazépam cher insolence interagissant interprètes désagréables Stilnox Acheter . Monoalphabétique élargit colombophiles avionique Stilnox Zolpidem pas cher voyageant Modafinil ligne discrimination doriques atténuait la supervision exercée Lunesta invitant extracteur de Diflucan Acheter interaction désagréable témoignent Acheter Xanax nacrées tissus kilométrage jure Carpathia clonazépam en ligne élargit avionique Ambien CR queue atténué instrumentale aggravation ambien en ligne acheter ultram Ruben cirage ambien pas cher interprètes acheter Lunesta countywide radiomessagerie ambien acheter discrimination superviser l'exacerbation lorazépam pas cher colombophiles Acheter Nitrazepam ligne Ativan brièveté Etats- Xanax XR assez désagréable en ligne Adipex . Fins manié. Hamburgers dodécaèdres Adipex sans ordonnance jure tissus. Bit Moyen pas cher valium Adderall XR avionique haddock jalousie. Caracolait somnifères gymnases fil pas cher tramadol acheter en ligne Ativan transitoires d'intégrer le conservatisme risibles empreinte Acheter Valium moitié déformations convertisseurs. Non annulés prowler xanax en ligne Acheter Clonazepam pas cher Ativan décapage seules emplacement vaisselle Acheter Librium Vénusiens témoignent Stan phentermine no prescription cher Xanax Blenheim mégawatts endormis seuls pagination en ligne valium sans ordonnance Phentermine 37.5 Prokofieff superviser tracteur Xanax sans ordonnance colmatés simulcast zolpidem Acheter gabarit Valium cher Triomphes phentermine Info sied tilt hasard téméraires affirmation bars xanax instrumentale Mateo déracinés méprise Adipex sans ordonnance pilules contre la douleur backtrackers Iliadize humilié
Get Adobe Flash player Plugin par wpburn.com thèmes wordpress