Opret en systemd-tjeneste til at synkronisere din /home-mappe til en NAS-maskine

Hvordan kan en systemd-tjeneste oprettes for at synkronisere en lokal /home-mappe til en fjernmappe på en NAS-maskine, og sikre at tjenesten kun starter, når en bruger er logget ind, samt have adgang til miljøvariabler som $USER?

Oprettelse af en systemd-tjeneste til synkronisering af en lokal /home-mappe til en fjernmappe på en NAS-maskine indebærer at oprette systemd-tjenestefiler, aktivere og starte tjenesten, samt sikre at den starter ved login.

Oprettelse af en systemd-tjeneste til synkronisering af en lokal /home-mappe til en fjernmappe på en NAS-maskine

For at oprette en systemd-tjeneste, der synkroniserer en lokal /home-mappe til en fjernmappe på en NAS-maskine, og sikre at tjenesten kun starter, når en bruger er logget ind samt har adgang til miljøvariabler som $USER, kan du følge disse trin:

1. Opret en systemd-tjenestefil

Opret en ny systemd-tjenestefil i /etc/systemd/system/ kataloget. For eksempel, navngiv filen sync-home.service:

[Unit]
Description=Sync /home directory to NAS
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/rsync -avz /home/%u/ user@nas:/remote/path/%u/
User=%u
Environment="USER=%u"
RemainAfterExit=true

[Install]
WantedBy=default.target

2. Opret en systemd-bruger-tjenestefil

Opret en ny systemd-bruger-tjenestefil i ~/.config/systemd/user/ kataloget. For eksempel, navngiv filen sync-home-user.service:

[Unit]
Description=Sync /home directory to NAS on user login
After=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/bin/rsync -avz /home/%u/ user@nas:/remote/path/%u/
User=%u
Environment="USER=%u"
RemainAfterExit=true

[Install]
WantedBy=default.target

3. Aktivér og start tjenesten

Aktivér og start tjenesten for systemd-bruger-tjenesten:

systemctl --user enable sync-home-user.service
systemctl --user start sync-home-user.service

4. Sørg for at systemd-bruger-tjenester starter ved login

For at sikre at systemd-bruger-tjenester starter ved login, skal du aktivere default.target for systemd-bruger-tjenester:

loginctl enable-linger $USER

5. Test tjenesten

Log ud og log ind igen for at teste, om tjenesten starter korrekt og synkroniserer /home-mappen til NAS-maskinen.

Med disse trin vil du have oprettet en systemd-tjeneste, der synkroniserer en lokal /home-mappe til en fjernmappe på en NAS-maskine, og som kun starter, når en bruger er logget ind, samt har adgang til miljøvariabler som $USER.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker