C14 Manager : Bash automated tools to manage C14


Hi everyone.

The french IT company for which I work, Open Web Addict, found interesting to use C14 for some of our clients.

Since the C14 workflow is pretty restrictive and difficult to grasp, I developped a solution in bash to get the entire C14 workflow work on most dedicated server.

I spent several hours on it, so we decided to share it with every user. Here is the Git repo : https://github.com/OpenWebAddict/c14-manager

It comes with an Apache2 licence, so feel free to try and use it.

You can tell me here what you think about it or ask questions if something is unclear for you.
@OnlineStaff same for you, don’t hesitate to give me a feedback.

Enjoy! :wink:


it is good idea. i will try use these tools

thanks for sharing


for gb-backup.sh what you mean by [dev or nothing], can you give me a real example?



Hi @mshannaq.

Apologize for my very late answer.

for gb-backup.sh what you mean by [dev or nothing], can you give me a real example?

Basically [dev or nothing] is just an optionnal string argument.
By default, not provinding it will set your production environment, and providing “dev” will set your environment to “dev” for testing purposes. See https://github.com/OpenWebAddict/c14-manager/blob/master/get-env.sh

Exemple for gb-backup.sh :
Dev : bash gb-backup.sh dev
Prod : bash gb-backup.sh

- The first difference between dev and prod mode is the verbosity level. Commands such as rsync, MySQL and curl will be verbose in dev mode, and not in prod mode. It’s designed to help you debugging if needed.

- The second difference between dev and prod mode is bucket names and sshIds. C14 Manager is designed to work with one C14 safe and one C14 account with many buckets inside :

  • Using dev argument will use your sshIdsDev parameter instead of your sshIds parameter, allowing you to have two different machines or more : one for testing purposes (dev), and one for production, with different ssh keys that identifies you through the same C14 userToken.

  • Every bucket and archive is created with a suffix : dev or prod. C14 Manager use it to know which archive/bucket to work with.

  • Here is an exemple of one safe, always containing one bucket + one archive for production, and two dev archives that were created for testing purposes (so not updated automatically) :

  • Production environment archives/buckets are replaced every week for me, but you can customize that using the archivesRetention parameter and by choosing the time you want when you set your CRON :
    # Backup on C14 every Wednesday at 04h00
    0 4 * * 3 /var/www/lnbcloud/c14-gb-backup.sh >> /var/www/lnbcloud/backups.log 2>&1

I hope I helped you.