• 4 Posts
  • 42 Comments
Joined 2 years ago
cake
Cake day: December 12th, 2023

help-circle

  • I met one of my now closest friends at the end of a Halloween party just as things were shutting down and everyone was leaving.

    As she was walking by, she randomly announced that she was going to see a band next week. One that I had already bought tickets for. We talked briefly and exchanged numbers. We saw the band together and hung out a few more times but I think after the third time we hung out, we knew we were best friends.

    We both weren’t even supposed to go to that Halloween party. Both of us had very different plans and somehow ended up at the party as something to do. The timing for us to meet was just so tiny and it doesn’t even feel real sometimes.



  • Sounds like what I’ve been doing manually for a while now as I learn more. For my desktop I have three scripts. One to install Alpine on full disk encryption. One for the initial setup up to the first required reboot and the last for the remaining setup plus transferring files.

    I’ve been learning how to edit files with sed, cat, echo and tee commands to help automate everything from a fresh install.

    Similar process for my Pi’s except I just copy-paste blocks of commands through a terminal instead of a script.

    To transfer files to all their proper directories, I have a whole system for that using rsync. I basically keep a bare-bones directory tree with only the files I have worked on. Then I have an rsync command to send all those files onto the Pi’s file system in a way that retains all the files and folder’s attributes.

    I wrote an rsync tool for myself to help me keep all these commands in files that I can neatly organize. I use that tool so much that it’s now my entire backup system. With a bunch of files organized with numbers, I can automate the backup of my phone, two pi’s and laptop to a partition on my laptop, then an additional copy to my external SSD in one command. And I have very high confidence in my restores since I do that frequently while testing new stuff. I also failed a lot before to get that much confidence.

    I have issues with over organization if you couldn’t tell by now hahaha.



  • I personally use rsync since I do most my work by command line these days. It’s taken nearly half a year really understand it but it offers the flexibility I desire.

    I have a small network with only a handful of devices. I keep all my incremental backups on encrypted partitions and encrypted detachable SSD’s which I manually decrypt. Rsync is set up to use SSH so there’s some form of encrypted transfers but that’s not actually a priority for me, just an added benefit.

    I also use rsync to sync files and directories while maintaining additional system attributes across multiple systems. That is to say, what’s root or user accessible stays root or user accessible after the transfer is complete.

    If I desired more protection, I’d probably look into Borg backup. Currently I just use encryption as an annoyance deterrence method. I also stick to the base Rsync command because every other option I tried brought with it complexities which have all failed me. I at least have a high level confidence in my backup/restore process now.



  • I haven’t tried arch at all. I used Linux Mint for a year, LMDE for a year and only really started working with command line since last December. I think I chose to try Alpine because I wanted my web facing devices to have the least amount of software installed. Security-wise it made sense to me to have less surface area to exploit.

    It took a bit extra effort for me to learn how to use OpenRC as the init system. As well as learning Linux from a bare bones linux perspective.

    I actually found using Busy-box Ash interesting to work with and that’s the only shell I currently use. I even wrote a whole script around Rsync in a POSIX friendly way because I liked the idea portable scripting.

    If you’re interested, I can send you a link that contains the setup notes for my server. It’s about 85% of my setup process, the rest being some files that are mostly customization that I rsync into place towards the end of the setup process. That can give you an idea of what Alpine on ARM is like.





  • I can’t remember a time where I didn’t have issues with syncing apps. They always just seem to stop working and it’s always frustrated me. It feels like to me there’s too much complexity under the hood and it exhausts me when something goes wrong.

    As a result I’ve been using rsync commands as a way to sync files and folders. After the initial setup, I haven’t experienced any issues and it’s been consistent and reliable. I even created my own tool which simplifies each rsync command into a file for easier syncing/restoring of my data. I use it to sync between my laptop, android phone using Termux terminal and my two Raspberry Pi’s.

    Rsync does have limitations like not being able to do two-way syncing but for my usage I am okay with that. I’m generally backing up data in most cases. Rsync does offer more flexibility since it’s a command line tool so I’m able to create backups of my entire system or sync specific files and folders. I can also set up cron jobs to have syncs performed periodically but I mainly do all my syncing manually because I like to see where all my data is moving.

    As long as all my devices have static IP addresses within the network and I don’t mess around with any directory names/locations, everything just works and I’ve had a lot less headaches managing my data and backups. I also have a lot more confidence in my backup/restore process when compared to when I used other syncing programs/apps in the past.


  • Last month I spent most of my time writing a long and complex rsync script and was looking for something like this. I skimmed threw a few articles already and I’ve already found a bunch of things that I thought about adding but had difficulties finding before while I was writing the script.

    The script I wrote is fully functional but I had already planned to revisit and rewrite parts of it because I enjoy knowing my script is solid, simple and reliable. But right now I have a couple other goals I want to finish before returning to my script.

    This resource has lots to add on top of what I already learned.



  • I created my own script/tool using rsync to handle backups and transferring data.

    My needs are quite smaller with just a computer and two Raspberry Pi’s but I found rsync to be really useful overall.

    My backup strategy is to make a complete backup on the local device (Computer / RPi4 / RPi5) then copy all those backups to a Storage partition on my computer, then make a whole backup from the partition to an externally attached SSD.

    The RPi’s both use docker/podman containers so I make sure any persistent data is in mounted directories. I usually stop all containers before performing a backup, especially things with databases.

    Everything in the docker containers is either hit or miss when it comes to restoring. The simple docker images restore as it they were untouched and will launch like nothing happened. I have a PieFed instance that must be rebuilt after restoring a backup. Since PieFed’s persistent data is in mount points, everything works perfectly after a fresh build.

    I can send a link to my rsync tool if that’s any interest to anyone. I’ve found it super useful for backups and minimizes so much headache for myself when it comes to transferring files between different network connected devices.


  • Maybe it’s something sightly outside no js/ccs/html but I am curious if there are any super minimal social media sites.

    I want to do something locally within my town and it would be nice to host something simple and tiny with my raspberry pi as the server.

    I’m assuming bulletin boards are quite minimal in comparison to other types of social media but I’ve never been a fan of how they handle previous replies with those boxed quotes.

    I’ve also been nostalgic for irc lately. Everything on the internet these days has become overwhelming. Over the past 1.5 years I’ve been turning to simplicity and it’s a craving I that’s hard to ignore.


  • I have a computer and 3 devices I wanted to transfer files between but every available solution was either too awkward which made things annoying, or too bulky with more than what I needed.

    I ended up writing a long script (around 1000 lines but I’m generous with spacing so I can read my own code easily) using rsync to deal with transferring files and whole directories with a single command. I can even chain together multiple rsync commands back to back so that I can quickly transfer multiple files or directories in one command. Instead of trying to refer to a wall of text full of rsync commands, I can make something like this:

    alias rtPHONEmedia="doas rtransfer /home/dell-pc/.sync/phone/.sync-phone_02_playlists /home/dell-pc/.sync/phone/.sync-phone_03_arbeit /home/dell-pc/.sync/phone/.sync-phone_04_albums /home/dell-pc/.sync/phone/.sync-phone_05_soulseek /home/dell-pc/.sync/phone/.sync-phone_06_youtube"

    This will copy everything from a specific folders on my phone, and store them neatly organized into my storage partition on my computer SSD. This also includes all the necessary information including SSH username, address and ID keys.

    I can then run alias rtARCHIVEfull="doas rtransfer /home/dell-pc/.sync/computer/.sync-computer_01_archive-full" to quickly copy that storage partition on my computer to my external backup SSD.

    I use it so often. It’s especially nice because I can work on a file on my computer and quickly update the file to the remote address location, putting it directly where I need it to be immediately.


  • I took sudo out of the examples and disabled it by default within the script. I still have a personal use for it.

    I keep a local backup on each device then transfer that backup to my desktop. Rsync requires root access to transfer files or directories with certain attributes over ssh. Otherwise the backup copy to my desktop is incomplete.

    Fortunately I already coded in a toggle for requesting root since Termux on Android has no root by default. I just won’t note that in the readme file. That can be left for anyone who cares to read the code itself.


  • I use a lot of commands that either use the --delete option or require remote root access in order to preserve hard links and other attributes.

    I didn’t know that was an issue. I was going from my own limited experience with linux.

    I already set an option to disable the root requirement at the beginning of the script. Simply changing the value to 0 will disable it and will let rsync display it’s own errors.

    What exactly makes it suspect so I know what I’m doing?



  • I think I’ve worked in automation long enough to feel super uncomfortable with the idea of a tattoo print machine being anywhere near my body.

    Even if I had a kill switch in hand, it still makes me uncomfortable. In general machines don’t care about fleshy bits at all. If something happens, for example a sensor ages and becomes defective, the printer has the potential to cause serious harm.

    I probably also hold a bit of bias, I prefer the imperfections of human, hand made art over digitized perfection from machines.