webuhu

webuhu

Rewrite shell tasks to get triggerd by Elixir application

I try to get some opinions about the following use case for Elixir.
I currently have shell scripts for the task of a nightly file backup.

Local commands

  • mount encrypted securefs storage (“long” running interactive shell command - type password)
  • rsync files to securefs mount
  • stop securefs mount process
  • rsync encrypted securefs storage files to remote storage

Remote commands

  • rotate backups (mv & cp -al)

Now, I’m thinking about triggering all of this commands from within an Elixir application.
Is this a good idea? By heavily using System.cmd/3 and maybe Port.
Where in this use case is using Port the better choice?

The case why I would love to do all of the above in Elixir, is I want to use my existing Logger backends for e.g. log to Matrix on success, log to SMS on failure.
And I wouln’t need to configure a cronjob for running the nightly backup task.

So what are your thoughts about this?

First Post!

LostKobrakai

LostKobrakai

Personally I favour pull based backups, and I have an elixir application connecting to some of our servers and doing db backups and moving them to S3. I only wouldn’t want to let the application I want to backup data of handle it’s own backuping. Chances are a bug, which requires you to rollback to a backup could also have broken the backup system, so keeping those separate from each other is probably a good idea.

Last Post!

webuhu

webuhu

Good idea to use pull data instead of push.
But of course the system (local commands) are already separated from the data layer.

Where Next?

Popular in Questions Top

vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New

Other popular topics Top

minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 54260 488
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 49266 226
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New

We're in Beta

About us Mission Statement