Continuem amb la ratxa dels posts de rundeck. Vam veure al post anterior com moure el rundeck d'un servidor a un altre, i vam veure que son uns quants fitxerets que s'han de tocar (les claus ssh, la configuracio del rundeck, la definició dels projectes, la definició dels jobs...). Doncs aprofitant aquella informació, i per ajudar en les tasques de backup, he creat un shell-script que s'encarrega de gestionar les còpies de seguretat de rundeck, tant el backup com el restore. El podreu trobar a github: https://github.com/ersiko/rundeck-backup i aqui mateix a la pàgina del projecte rundeck-backup
El funcionament es ben fàcil. Per fer un backup, tan sols s'ha de fer:
[root@server ~]# ./rundeck-backup.sh backup rundeck.tar.gz
OK - backup finished successfully using /root/rundeck-backup.tar.gz
Si no posem res, el backup es guardarà amb la data del dia:
[root@server ~]# ./rundeck-backup.sh backup
OK - backup finished successfully using /root/rundeck-backup-20130327.tar.gz
I per restaurar, tan fàcil com:
[root@server ~]# ./rundeck-backup.sh restore
Rundeck service is not running, so jobs can't be restored. Do you want to start rundeck? (y/N) y
S'està iniciant el rundeckd: [ FET ]
OK - restore finished successfully using /root/rundeck-backup-20130327.tar.gz
També té altres opcions per cobrir totes les circumstàncies que se m'han acudit:
[root@server ~]# ./rundeck-backup.sh -h
rundeck_backup - v1.00
Copyleft (c) 2013 Tomàs Núñez Lirola <tnunez@criptos.com> under GPL License
This script deals with rundeck backup/recovery.
Usage: ./rundeck-backup.sh [OPTIONS...] {backup|restore} [backup_file] | -h --help
Options:
-h | --help
Print detailed help
--exclude-config
Don't backup / restore config files
--exclude-projects
Don't backup / restore project definitions
--exclude-keys
Don't backup / restore ssh key files
--exclude-jobs
Don't backup / restore job definitions
--exclude-hosts
Don't backup / restore .ssh/known_hosts file
--include-logs
Include execution logs in the backup / restore procedure (they are excluded by default)
-c <directory> | --configdir <directory>
Change default rundeck config directory (/etc/rundeck)
-u <user> | --user <user>
Change default rundeck user (rundeck)
-s <service> | --service <service
Change default rundeck service (rundeckd)
-f | --force
Assume 'yes' to all questions
This plugin will backup or restore a rundeck instance, copying files and exporting job definitions with rd-jobs tool.
Examples:
/home/users/scripts/rundeck-backup.sh backup rundeck-201303.tar.gz
/home/users/scripts/rundeck-backup.sh restore --exclude-jobs rundeck-201303.tar.gz
Ho he fet el millor que he sabut (i que he tingut ganes :P), o sigui que probablement sigui molt millorable. S'accepten qualsevol tipus de crítiques i suggerències per millorar-ho.
Gràcies!