Files
LinuxScripts/Arch/systemd/ghostmirror-monthly.service

48 lines
1.4 KiB
Desktop File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[Unit]
Description=Monthly mirror update Timeshift backup then GhostMirror refresh
Documentation=https://github.com/vbextreme/ghostmirror
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
# Step 1: Timeshift RSYNC snapshot before touching anything
ExecStart=/bin/sh -c '/usr/bin/timeshift --create --rsync \
--comments "pre-ghostmirror monthly mirror update $(date +%%Y-%%m-%%d %%H:%%M:%%S)" \
--scripted'
# Step 2: Fetch & rank mirror pool
# -c countries: Switzerland (primary), Germany, Italy + Austria, France, Netherlands
# -L 30 candidates
# -S drop errored mirrors, prefer synced + fresh + nearest
ExecStart=/usr/bin/ghostmirror \
-P -o \
-c Switzerland,Germany,Italy,Austria,France,Netherlands \
-l /etc/pacman.d/mirrorlist \
-L 30 \
-S state,outofdate,morerecent,ping
# Step 3: Speed-test candidates, write final top 10 to mirrorlist
# -m use the file from step 2
# -u file is already uncommented
# -s light speed test (~6 MiB per mirror)
# -L keep top 10
# -S stability + speed on top of sync/freshness
ExecStart=/usr/bin/ghostmirror \
-P -o \
-m /etc/pacman.d/mirrorlist \
-u \
-l /etc/pacman.d/mirrorlist \
-L 10 \
-s light \
-S state,outofdate,morerecent,estimated,speed
Nice=10
IOSchedulingClass=best-effort
IOSchedulingPriority=5
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target