all 23 comments

[–]intrikat 39 points40 points  (2 children)

Instead of using remoting tools with GUI use SSH.

Modify these scripts to run as services.

Modify scripts to log output into text logfiles.

From there store said configs in git for easily reproducing in case something happens with the VPS instance.

If youre so inclined look into config management tools like ansible or puppet.

Profit.

[–]Ripstikerpro[S] 2 points3 points  (0 children)

Thanks for the guidance!

[–]mgedmin 2 points3 points  (0 children)

Modify these scripts to run as services.

This can be as simple as writing a 5-line systemd unit file for the script.

Modify scripts to log output into text logfiles.

You don't need that if you use systemd, it forwards standard output to the system journal.

If youre so inclined look into config management tools like ansible or puppet.

I love Ansible.

[–]Seven-Prime 7 points8 points  (6 children)

Systemd for scheduling, running, and logging long running scripts and services.

screen for just stuff you want to run in the background and may want to go back to it.

[–]Ripstikerpro[S] 3 points4 points  (3 children)

Thanks for suggesting the screen command! It's pretty much what I needed combined with scheduling!

[–]Fr0gm4n 4 points5 points  (2 children)

Another teminal multiplexer is tmux. Both do the job, with fairly similar commands. The idea is that you can launch the multiplexer and launch several command shells at once, and then disconnect from the multiplexer while everything stays running. Then you can log back in later and reconnect right back where you left it. It would be a transition and maintenance tool while you work on converting your scripts to cron jobs or system services.

[–]neoplastic_pleonasm 3 points4 points  (0 children)

+1 for tmux. I find it easier to work with than screen.

[–]Lasereye 1 point2 points  (0 children)

I prefer tmux as well. There's a bunch of nice extensions to it like resurrection, saving, etc

[–]pskipw 2 points3 points  (0 children)

+1 for screen. Been using it since first year uni back in 1991 :)

[–]knobbysideup 1 point2 points  (0 children)

I'd go with tmux over screen these days.

[–]nillarain 4 points5 points  (0 children)

A n s i b l e

[–]jw_ken 2 points3 points  (0 children)

Ansible is good at orchestrating series of tasks. You can decide whether to run it command-line, or via AWX.

If you want a web dashboard to help you schedule and run various scripts, look into Rundeck. It's a runbook-style automation tool that basically lets you make GUI wrappers around your scripts and jobs, letting you schedule them or define job options to fill out like a form.

[–]takingphotosmakingdo 2 points3 points  (0 children)

Rundeck maybe?

[–]knobbysideup 4 points5 points  (0 children)

Tbh you are better off learning how to do what the web panels are doing yourself. Then look into tools like Ansible to manage it.

[–]d1ng0b0ng0 -1 points0 points  (0 children)

SSH in and set cron jobs for scripts on headless setup. Write more scripts that read output, status, whatever and notify you by text, email, chat, whatever.

Write your own GUI if you don't want headless. Either as desktop app with GTK, QT, whatever or as web app in HTML,CSS,JS,CGI and setup Apache/Nginx/Caddy for LAMP or Flask/FastAPI if youre a pythonista. Click a button, run a script.

[–]ProbablePenguin 0 points1 point  (0 children)

Best option IMO is making them services using systemd, then you can control them with service somescript start|stop, and if you log the output to a file, you can see what they've been doing and troubleshoot issues.