데스크탑 컴퓨터의 경우 systemd를 통해 백업을 실행합니다. 사용
OnCalendar = daily
Persistent = true
RandomizedDelaySec = 10m
백업이 하루에 한 번 실행됩니다. 컴퓨터 전원이 켜져 있으면 다음에 시작할 때 백업이 실행됩니다.
문제는 컴퓨터를 일시정지하면 깨어나자마자 지체 없이 바로 백업이 실행되려 한다는 점이다. 네트워크 연결에 몇 초가 걸려 백업에 실패했습니다.
이것은 에서 처리해야 한다고 생각 RandomizedDelaySec
하는데 타이머가 생성될 때 설정됩니다. 깨어난 후 systemd에게 기다리라고 어떻게 말합니까?
답변1
~에 따르면매뉴얼 페이지, RandomizedDelaySec=
"0과 지정된 시간 값 사이에서 무작위로 선택되고 균등하게 분산된 시간 동안 타이머를 지연합니다."
RandomizedDelaySec=
따라서 대기 시간이 필요한 것에 의존하고 싶지는 않습니다 . 0m는 매우 실제적인 가능성이기 때문입니다.
일반적 RandomizedDelaySec=
으로 잘 작동 Persistent=
하지만 시스템이 해당 상태에서 정지된 것으로 간주되는지 확실하지 않기 때문에 "정지"에 어떻게 반응하는지 잘 모르겠습니다. 이 중단된 사용 사례를 해결하는 것은 청어라고 생각합니다.
대신 다음 두 가지 옵션이 있습니다.
ExecStartPre=/bin/sleep ...
지연 시간을 최소화하기 위해 백업 서비스에 수동으로 추가하거나After=network.target
타이머나 서비스에 추가하거나 사용자 정의 마운트가 나타나기를After=mymount.mount
기다리는 경우 .fuse.sshfs
옵션 1은 간단한 포괄적인 경우입니다. 하지만 일반적 sleep
으로 느린 날에는 아무것도 기다리지 않고, 바쁜 날에는 오래 기다리지 않을 수 있기 때문에 일반적으로 좋아하지 않습니다 . 완벽한 순간을 기다리는 당신의 실제 상태에 대한 피드백은 없습니다. 그러나 이는 시간이 중요하지 않은 백그라운드 작업이므로 일시 중지가 없는 날에도 10분을 더 기다려도 괜찮을 수 있습니다.