automating shell: SSH-ing, runing various script, etc

Discussion in 'Mac Programming' started by MultipleParadox, Sep 18, 2008.

  1. MultipleParadox macrumors newbie

    Sep 18, 2008
    Hi everybody,

    At work I need to run a few commands, with different parameters from time to time on a remote server using SSH.

    I'd like to automate these action using <insert best solution here>

    Options would be Automator, Applescript, Python, Perl or Ruby

    I don't really know any of these languages, but I do have a good programming background (used with shell, done C/C++ and turbopascal long ago, Actionscript 2, php, etc)

    I'd like to script to ask for the few parameters needed, and then running the scripts in order. It is important that the script can wait for the previous call to finish before it continue...

    an example would be:
    - ask for the target server
    - ask for a campaign name
    - ask for a version number
    - ssh to a server "x"
    - run a few scripts on server "x" using provided params
    - ssh *from* server "x" to server "y"
    - call a script
    - cd to a certain folder
    - delete a folder
    - unzip a file and move it to another location afterward
    - call a script

    Might seem a "lot" but it's actually not much
    If anyone can help me in any way, that'd be really appreciated;

    Thanks to you all

  2. foidulus macrumors 6502a

    Jan 15, 2007
    Do it in BASH

    Most of the stuff you seem to want would be easiest to do with BASH scripts IMO. If you want to package it all into a GUI, automator would be a good front end(you can run terminal commands/scripts pretty easily from Automator)
  3. mobilehaathi macrumors G3


    Aug 19, 2008
    The Anthropocene
    You could do it in perl, but I'd do it with a bash script.


    And I'd send those "ask for" items as command line args or in a parameter file that you pass on the command line or automatically search for.
  4. ChrisA macrumors G4

    Jan 5, 2006
    Redondo Beach, California
    First rule: Write this in something that you know.

    If it were me I'd do it in a simple sh (bash) script if I wanted it to be "quick and dirty" But if I wanted good error checking, like for example I might try to "ping" the server after the name was entered to verify it was entered correctly and was up and running. I'd check that a script was present before trying to run it and so on. It could easily be that you have 12 lines or "real" work and 200 lines devoted to errors and exceptions and printing messages about same. So Perl or bash depending on the level of error handling sophistication required.
  5. MultipleParadox thread starter macrumors newbie

    Sep 18, 2008
    Thanks for your answers

    I'd rather go with a quick and dirty solution; there's no *real* need for error checking in that case

    I'll consider using Bash script and start to try and gather some info about it; If any of you have good resources online that you want to share it would be nice

    Thanks again


Share This Page