matthew@matthew-pc:~$ crontab -l
[...]
@reboot 1 5 * sleep 10s && export DISPLAY=:0 && xdg-open ~/@/Testing.jpg
5월 1일 Linux를 시작할 때 "Testing.jpg"가 열리지 않았습니다.
Linux가 특정 날짜(예: 5월 2일)에 시작될 때 Crontab을 사용하여 파일을 열려면 어떻게 해야 합니까?
답변1
@reboot
- 와 일정을 혼합 할 수 없으며 cron
이는 지원되지 않습니다.
특정 날짜에 Linux가 부팅될 때 파일을 열려면 다음을 수행하십시오.
날짜가 일치하는지(예: 5월 2일) 확인하는 스크립트(chkdate.sh)를 작성하세요.
@reboot
사양을 사용하여cron
실행chkdate.sh
[편집: re
chkdate.sh
, 특정 날짜에 대해 오늘 날짜를 확인하는 스크립트]:
당신은bash
이 작업을 수행하기 위한 스크립트입니다. date
의 함수는 bash
오늘 날짜를 반환합니다. 이를 통해 특정 날짜에 대해 오늘 날짜를 테스트하고 필요한 조치를 취하기만 하면 됩니다. 이 문제를 해결하는 한 가지 방법은 다음과 같습니다.
참고: 저는 Debian 기반 Linux 배포판을 사용하므로 다음은 이를 반영합니다. 귀하의 시스템은 다를 수 있습니다.
- 이 기능을 사용하려면
date
: "터미널 창"을 열거나 시스템에 명령 프롬프트를 표시하세요. 명령 프롬프트($
제 경우)에 다음을 입력합니다date +%Y-%m-%d
.
$ date +%Y-%m-%d
2019-05-02
$
date
원하는 형식을 지정하십시오 .date
출력은 다양한 형식으로 제공될 수 있습니다. 위의 예에서 형식은 "년-월-일"입니다. 월과 일에만 관심이 있는 경우 명령은 다음과 같습니다date +%m-%d
.
$ date +%m-%d
05-02
$
- 어떤 형식이 필요하든 시스템 문서를 사용하는 방법을 배워야 합니다. 필요한 형식으로 출력을 지시하는 방법을 이해하려면
date
해당 설명서를 읽어야 합니다.
$ man date
...
q
$
단일 문자로 페이지가 q
닫힙니다 .man
date
출력 형식을 결정한 후에는 스크립트 작성을 시작할 수 있습니다chkdate.sh
. 이 파일을 생성하고 사용하기 쉬운 텍스트 편집기에서 열어 보겠습니다.
$ nano ~/chkdate.sh
...
예를 들어 다음과 같이 스크립트 입력을 시작할 수 있습니다.
#!/bin/bash
SOMEDAY="05-02"
TODAY=`date +%m-%d`
if [ $TODAY == $SOMEDAY ]
then
echo "Today is the day!"
else
echo "Today is NOT the day."
fi
이제 파일을 저장 ^o
하고 nano
편집기를 종료합니다 ^x
.
- 스크립트를 실행 가능하게 만들려면 파일 권한을 설정해야 합니다. 그런 다음 스크립트를 실행할 수 있습니다.
$ chmod 755 ~/chkdate.sh
$ ~/chkdate.sh
Today is the day!
$
오늘이 5월 2일이므로 명령문then
의 조건 은 if
실행( echo "Today is the day!"
)입니다. 연중 다른 날에는 이 else
성명이 시행됩니다. 또한 조건이 반드시 필요한 것은 아닙니다 else
. 필요하지 않으면 무시해도 됩니다.
- 이 명령이 실행된다고 가정하면 스크립트를 수정하여
echo ...
해당 명령을 사용하려는 명령으로 바꿀 수 있습니다.