일시 중지 시 시스템 타이머가 만료됩니다.

일시 중지 시 시스템 타이머가 만료됩니다.

매일(예: 자정) 만료되는 시스템 사용자 타이머를 만들었습니다. 문제는 내 컴퓨터가 보통 밤에 일시 중지된다는 것입니다. 아침에 일어나면 타이머가 작동하기를 기대하지만 그런 일은 일어나지 않습니다. "지속적" 옵션을 찾았지만 이는 서비스를 시작할 때 만료된 타이머를 트리거하므로 시스템이 종료될 때만 도움이 됩니다. 시간별 타이머를 실행하고 타임스탬프를 일부 파일에 저장하는 것 외에 다른 솔루션이 있습니까?

2017-03-17 편집: 우분투 16.10에서 systemd 231을 사용하고 있습니다. 내가 원하는 건 달리는 거야상기시키다하루에 한 번, 바람직하게는 아침에 컴퓨터를 깨울 때입니다.

답변1

WakeSystem=true한 가지 옵션은 파일에 설정하는 것입니다 .timer. 이렇게 하면 컴퓨터를 일시 중지 상태에서 깨워 작업을 실행할 수 있습니다.

.service그런 다음 실행하는 파일 에 다음을 추가할 수 있습니다.

 ExecStopPost=sudo /bin/systemctl suspend

작업 실행이 완료된 후 컴퓨터를 다시 일시 중단합니다.

/etc/sudoers또한 사용자가 비밀번호 없이 위 명령을 실행할 수 있도록 업데이트해야 합니다 .


man systemd.timer두 번째 옵션은 에서 설명한 것과 유사한 단조 타이머 중 하나를 사용하는 것입니다 OnActiveSec=. 이 타이머는 컴퓨터가 중단되면 중지됩니다. 이를 통해 "8시간마다 내 컴퓨터를 백업해 주세요."와 같은 말을 할 수 있습니다. 컴퓨터가 일반적으로 하루에 약 8시간 실행된다면 이는 하루에 한 번 정도에 해당합니다. 설명하신 대로 컴퓨터는 자정 무렵에 백업되는 경우가 많습니다. 아침에 처음으로 컴퓨터 일시 중지를 해제하면 백업됩니다.


셋째, 기기를 꺼도 기기가 Persistent=제대로 작동하지 않는 것을 확인하셨나요?suspend

답변2

옵션과 멈춤에는 문제가 없는 것 같습니다 Persistent. 문제는 이것이 Persistent=true타이머가 적어도 한 번은 실행될 기회가 있는 경우에만 작동한다는 것입니다.마지막아니요해당 없음. 하지만 내 컴퓨터는 보통 자정에 일시 중지되므로 타이머가 작동하지 않습니다.

관련 정보