Add user service for syncing voron
This commit is contained in:
parent
7c993c502a
commit
7ac33a4974
@ -291,6 +291,45 @@ in
|
|||||||
Install.WantedBy = [ "default.target" ];
|
Install.WantedBy = [ "default.target" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.user.services.voron2-red-sync = {
|
||||||
|
Unit.Description = "Sync Voron2 red gcodes";
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart = toString (
|
||||||
|
pkgs.writeShellScript "voron2-red-sync" ''
|
||||||
|
echo "Starting sync"
|
||||||
|
${pkgs.inotify-tools}/bin/inotifywait --monitor --recursive --quiet -e modify -e moved_to -e moved_from -e create -e delete /mnt/storage/.hardware/3d-print/v2-red-V2-2201270017/files | ${pkgs.writeShellScript "voron2-red-sync" ''
|
||||||
|
function sync() {
|
||||||
|
rsync -avz --delete --exclude='.thumbs' /mnt/storage/.hardware/3d-print/v2-red-V2-2201270017/files/ pi@voron2-red:~/printer_data/gcodes/
|
||||||
|
if [[ $? -ne 0 ]]; then
|
||||||
|
echo "Sync failed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
sync_pid=0
|
||||||
|
|
||||||
|
while read -r event; do
|
||||||
|
# Throttle syncing
|
||||||
|
if [ $sync_pid -ne 0 ]; then
|
||||||
|
kill $sync_pid 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Schedule new sync
|
||||||
|
{ sleep 1; sync; } &
|
||||||
|
sync_pid=$!
|
||||||
|
done
|
||||||
|
''}
|
||||||
|
''
|
||||||
|
);
|
||||||
|
Restart = "always";
|
||||||
|
RestartSec = 1;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
Install.WantedBy = [ "default.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
systemd.user.timers.keepass-sync = {
|
systemd.user.timers.keepass-sync = {
|
||||||
Unit.Description = "Timer for KeePass sync";
|
Unit.Description = "Timer for KeePass sync";
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user