diff --git a/20240108001129-transferring_data_to_a_raidz1_array.org b/20240108001129-transferring_data_to_a_raidz1_array.org index 5f0f485..cc24a34 100644 --- a/20240108001129-transferring_data_to_a_raidz1_array.org +++ b/20240108001129-transferring_data_to_a_raidz1_array.org @@ -29,18 +29,104 @@ https://www.disctech.com/Western-Digital-WD-Red-Plus-WD101EFBX-10TB-NAS-SATA-Har | | WD Red Plus | 10TB | WD101EFBX-68B0AN0 | 7200rpm | 217 | | | WD Red Plus | 10TB | WD101EFBX-68B0AN0 | 7200rpm | 217 | | | WD Red Plus | 10TB | WD101EFBX-68B0AN0 | 7200rpm | 217 | -* Mappings -| Old | New | Copied | Rsync | -|--------------------------+---------------------------------+--------+-------| -| Terra/Misc | reason/misc | | | -| Terra/Music | reason/media/music | Y | | -| Terra/Roms | reason/games/roms | Y | | -| Izanagi/Video/Movies | reason/media/movies | Y | | -| Izanagi/srv/owncloud | reason/services/nextcloud | Y | | -| Satanael/plexmediaserver | reason/services/plexmediaserver | | | -| Satanael/TV | reason/media/television | Y | | -| Satanel/Anime | reason/media/anime | Y | | -| Satanael/Backup | reason/backups | | | -| Satanael/Plays | reason/media/plays | | | -| Satanael/RetroPie | reason/games/retropie | | | -| Satanael/Webcam | reason/media/webcam | | | +* Rsync +#+name: rsync-mappings +| Source | Destination | +|------------------------------------------+----------------------------------------------| +| /media/Terra/Backup/ | /mnt/reason/backups/older/ | +| /media/Terra/Backups/ | /mnt/reason/backups/oldest/ | +| /media/Terra/Misc/ | /mnt/reason/misc/ | +| /media/Terra/Manga/ | /mnt/reason/misc/Manga/ | +| /media/Terra/Music/ | /mnt/reason/media/music/ | +| /media/Terra/Pictures/ | /mnt/reason/misc/Photos/ | +| /media/Terra/Roms/ | /mnt/reason/games/roms/ | +| /media/Terra/Software & Disc Images/ | /mnt/reason/misc/Software & Disc Images/ | +| /media/Terra/Sort these pictures/ | /mnt/reason/misc/Sort these pictures/ | +| /media/Terra/Wedding Pictures/ | /mnt/reason/misc/Wedding Pictures/ | +| /media/Terra/StepMania-3.9/ | /mnt/reason/games/stepmania/StepMania-3.9/ | +| /media/Terra/code/ | /mnt/reason/misc/code/ | +| /media/Terra/srv/ | /mnt/reason/backups/srv.old/ | +| /media/Terra/thunderbird/ | /mnt/reason/backups/thunderbird.old/ | +| /media/Gaia/Laptop Pictures/ | /mnt/reason/misc/Laptop Pictures/ | +| /media/Gaia/Videos/Anime Theater/ | /mnt/reason/media/anime-theater/ | +| /media/Gaia/Videos/Family/ | /mnt/reason/media/videos/Family/ | +| /media/Gaia/Videos/Porn/ | /mnt/reason/media/porn/ | +| /media/Gaia/Videos/Theatre/ | /mnt/reason/media/theater/ | +| /media/Gaia/ipod/ | /mnt/reason/misc/ipod/ | +| /media/Gaia/srv/gitea/ | /mnt/reason/services/gitea/ | +| /media/Gaia/srv/gitlab/ | /mnt/reason/services/gitlab/ | +| /media/Satanael/Anime/ | /mnt/reason/media/anime/ | +| /media/Satanael/TV/ | /mnt/reason/media/television/ | +| /media/Satanael/Backup/current/ | /mnt/reason/backups/current/ | +| /media/Satanael/Backup/exports/ | /mnt/reason/backups/exports/ | +| /media/Satanael/Backup/logs/ | /mnt/reason/backups/logs/ | +| /media/Satanael/Backup/old/ | /mnt/reason/backups/old/ | +| /media/Satanael/Backup/reason/ | /mnt/reason/backups/reason/ | +| /media/Satanael/Plays/ | /mnt/reason/media/plays/ | +| /media/Satanael/RetroPie/ | /mnt/reason/games/retropie/ | +| /media/Satanael/Webcam/ | /mnt/reason/media/webcam/ | +| /media/Satanael/plexmediaserver/ | /mnt/reason/services/plexmediaserver/ | +| /media/Izanagi/srv/owncloud/ | /mnt/reason/services/nextcloud/ | +| /media/Izanagi/Video/Anime Music Videos/ | /mnt/reason/media/videos/Anime Music Videos/ | +| /media/Izanagi/Video/Comedy/ | /mnt/reason/media/videos/Comedy/ | +| /media/Izanagi/Video/iPhone/ | /mnt/reason/media/videos/iPhone/ | +| /media/Izanagi/Video/Misc/ | /mnt/reason/media/videos/Misc/ | +| /media/Izanagi/Video/Movies/ | /mnt/reason/media/movies/ | +| /media/Izanagi/Video/Music Videos/ | /mnt/reason/media/videos/Music Videos/ | +| /media/Izanagi/Video/Wedding/ | /mnt/reason/media/videos/Wedding/ | + +#+begin_src python :var mapping_list=rsync-mappings :results output :exports both :eval no-export + from pathlib import Path + + mappings = {Path(destination): Path(source) for source, destination in mapping_list} + assert len(mappings) == len(mapping_list), "Duplicate destinations in mappings" + + for destination, source in sorted(mappings.items()): + delete = "--delete" if not any(destination in d.parents for d in mappings.keys()) else "" + print(f"rsync -avz {delete:8} --no-perms --info=progress2 correlr@reason:{source}/ {destination}/") +#+end_src + +#+RESULTS: +#+begin_example +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/Backup/current/ /mnt/reason/backups/current/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/Backup/exports/ /mnt/reason/backups/exports/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/Backup/logs/ /mnt/reason/backups/logs/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/Backup/old/ /mnt/reason/backups/old/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/Backup/ /mnt/reason/backups/older/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/Backups/ /mnt/reason/backups/oldest/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/Backup/reason/ /mnt/reason/backups/reason/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/srv/ /mnt/reason/backups/srv.old/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/thunderbird/ /mnt/reason/backups/thunderbird.old/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/RetroPie/ /mnt/reason/games/retropie/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/Roms/ /mnt/reason/games/roms/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/StepMania-3.9/ /mnt/reason/games/stepmania/StepMania-3.9/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/Anime/ /mnt/reason/media/anime/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Gaia/Videos/Anime Theater/ /mnt/reason/media/anime-theater/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Izanagi/Video/Movies/ /mnt/reason/media/movies/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/Music/ /mnt/reason/media/music/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/Plays/ /mnt/reason/media/plays/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Gaia/Videos/Porn/ /mnt/reason/media/porn/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/TV/ /mnt/reason/media/television/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Gaia/Videos/Theatre/ /mnt/reason/media/theater/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Izanagi/Video/Anime Music Videos/ /mnt/reason/media/videos/Anime Music Videos/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Izanagi/Video/Comedy/ /mnt/reason/media/videos/Comedy/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Gaia/Videos/Family/ /mnt/reason/media/videos/Family/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Izanagi/Video/Misc/ /mnt/reason/media/videos/Misc/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Izanagi/Video/Music Videos/ /mnt/reason/media/videos/Music Videos/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Izanagi/Video/Wedding/ /mnt/reason/media/videos/Wedding/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Izanagi/Video/iPhone/ /mnt/reason/media/videos/iPhone/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/Webcam/ /mnt/reason/media/webcam/ +rsync -avz --no-perms --info=progress2 correlr@reason:/media/Terra/Misc/ /mnt/reason/misc/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Gaia/Laptop Pictures/ /mnt/reason/misc/Laptop Pictures/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/Manga/ /mnt/reason/misc/Manga/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/Pictures/ /mnt/reason/misc/Photos/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/Software & Disc Images/ /mnt/reason/misc/Software & Disc Images/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/Sort these pictures/ /mnt/reason/misc/Sort these pictures/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/Wedding Pictures/ /mnt/reason/misc/Wedding Pictures/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Terra/code/ /mnt/reason/misc/code/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Gaia/ipod/ /mnt/reason/misc/ipod/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Gaia/srv/gitea/ /mnt/reason/services/gitea/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Gaia/srv/gitlab/ /mnt/reason/services/gitlab/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Izanagi/srv/owncloud/ /mnt/reason/services/nextcloud/ +rsync -avz --delete --no-perms --info=progress2 correlr@reason:/media/Satanael/plexmediaserver/ /mnt/reason/services/plexmediaserver/ +#+end_example