Question

Is there a utility/library that facilitates the coordination of tasks between multiple servers? For me, I need to run scheduled tasks, copy lots of data between servers, and restart processes (a series of dependent operations that occur on different machines in a cluster).

I can go with cronjobs and batch scripts, although I can't help thinking that there's a more robust and elegant way of going about this.

Was it helpful?

Solution

Capistrano is a tool for automating tasks across servers, it does exactly what you ask. It's written in Ruby and uses SSH to communicate with the other machines.

OTHER TIPS

As mentioned, Capistrano can be used to automate tasks. It was originally written to deploy Rails applications consistently, but it has become a very robust sysadmin tool. It is generally best for adhoc one time commands and application deployments though. If you need multiple systems managed with a consistent configuration tool, I suggest Puppet.

We use Puppet to manage overall system configuration for Rails, Django and PHP based web/db/app servers, and we use Capistrano for application deployments and single commands (like running Puppet after a config change).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top