Loci is a python script that can backup a directory to a server using rsync - It keeps track of the backups that have been done. Multiple backups may be kept. Rsync is used to handle the backups so only the needfull is copied and single files can be recovered from the backup if needed. loci -b tag : Backup under the tag given (I used days of the week)

loci -l : List backups showing those tags unused, backups that are needed, and backups that been run more than 5 times. I refresh these.

loci -r tag : Refresh a tag’s backup - delete the files under that tag and backuplog entries to prepare for a fresh backup using loci -b

~/.backuplog a file in .csv format that keeps track of backups done.

~/.config/loci/settings Settings file. Fully commented.

  • WasPentaliveOP
    link
    fedilink
    English
    arrow-up
    33
    ·
    3 days ago

    It’s also to help me learn python. And it works for me. : ^ )

    • ChapulinColorado@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 days ago

      Bash does seem like a better fit for this kind of script since it is a lot more portable.

      I.e.: It comes by default for many Linux distributions. For windows, a Git bash install will get you most utilities needed for large reliable scripts (grep, scp, find, sort, uniq, cat, tr, ls, etc.).

      With that said, you should write it on whatever language you want, especially if it is for learning purposes, that’s where the fun comes from :)

    • ThrowawayOnLemmy@lemmy.world
      link
      fedilink
      English
      arrow-up
      17
      ·
      edit-2
      3 days ago

      Don’t mind him. Any time someone shares code, there’s always someone else who did nothing talking about how much better your code could have been. Just noise from the peanut gallery.

      • WasPentaliveOP
        link
        fedilink
        English
        arrow-up
        15
        ·
        3 days ago

        Yeah, no problem… I started out with just bare rsync - but I did the backup infrequently and needed my notes to know the command. Then I wrote a simple shell script to run the rsync for me. Then I decided I needed more than one backup, redundancy is good. Then I wanted to keep track of the backups so I had it write to .backuplog then that file started getting dated (every time I run a “sun” backup the record of the previous one is useless) so Finally TaDa! loci is born.

      • WasPentaliveOP
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 days ago

        That’s ok Like any landing you can walk away from. Any code that runs to spec is good, much could be better.