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?