Add Arch/systemd/ghostmirror-monthly.service
This commit is contained in:
@@ -0,0 +1,48 @@
|
|||||||
|
[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
|
||||||
Reference in New Issue
Block a user