컴퓨터가 불규칙하게 시작된다고 가정해 보겠습니다. 한 달에 한 번 시작 시 특정 스크립트를 실행하고 싶습니다. 그런데 이 날짜에 머신이 시작될지 모르기 때문에 cron 작업을 설정할 수 없습니다.
나는 이 접근 방식을 고려했습니다.
- 스크립트가 마지막으로 실행된 날짜를 포함하는 파일을 만듭니다.
- 나는 시작할 때마다 다음을 수행합니다.
if(file_exists("last_boot.txt"))
{
if(<<more then a month has passed since last date time>>)
{
<<run script>>
}
}
else
{
<<run script>>
}
<<write current date time into the file>>
파일 트릭을 사용하지 않고 일부 표준 도구를 사용하여 이 작업을 수행할 수 있습니까?
답변1
cron을 사용하여 일정에 따라* 실행하고 확인하세요.다른스크립트의 일정 일부:
일방 통행:
@reboot /path/to/my_script.sh
if has_run_this_month() {
exit
}
또 다른 방법:
0 0 1 * * /path/to/my_script.sh
if has_run_since_reboot() {
exit
}
* 이 작동 모드에는 몇 가지 문제가 있습니다.
- 한 달 이상 기계를 작동시켜 본 적이 있습니까? 이 개월? 두 경우 모두 어떻게 되나요?
- 기계에서 떠나본 적 있나요?떠나다한 달 이상? 이것이 어디로 가는지 알 수 있습니다 ...
- 국가의 길을 고수한다는 것을 어떻게 보장합니까?가지다영구 어딘가에 저장)은 RAM 디스크이므로 부팅 시 지워지지 않습니까?