1분마다 실행되는 크론 작업을 어떻게 실행하나요?

1분마다 실행되는 크론 작업을 어떻게 실행하나요?

이름에 타임스탬프가 포함된 디렉터리를 만들려고 합니다 /home. 루트 사용자로 다음 크론 작업을 생성했지만 실행되지 않았습니다. 내가 뭘 잘못했나요?

다음은 루트 사용자 권한을 사용하여 생성한 cron 작업입니다.

[root@bvdv-emmws01 home]# crontab -l
* * * * * /home/test.sh

다음은 내용입니다 /home/test.sh. 고쳐 쓰다:디렉터리에 전체 경로를 추가했습니다.

[root@bvdv-emmws01 home]# cat /home/test.sh 
#!/bin/bash
mkdir /home/test_$(date -d "today" +"%Y%m%d%H%M%S")

라이센스 /home/test.sh:

[root@bvdv-emmws01 home]# ls -ltr /home/test.sh
-rwxrwxrwx 1 root root 58 Dec  2 12:58 /home/test.sh

/etc/crontab파일을 업데이트했습니다 . 이제 파일의 내용은 다음과 같습니다.

[root@bvdv-emmws01 home]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

* * * * * root /home/test.sh

상태crond daemon

[root@bvdv-emmws01 home]# service crond status
crond (pid  1910) is running...

답변1

crontab -e생성되고 나열된 crontab을 사용하면 crontab -l이 명령에 대한 사용자를 지정해서는 안 됩니다. 귀하의 항목은 다음과 같아야 합니다:

* * * * * /home/test.sh

아니면 이미 가지고 있는 행을 넣을 수도 있습니다 /etc/crontab.

man 5 crontab(시스템 CRON 파일 예제 섹션) 에서 :

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

마지막 문장에 주목하세요.

관련 정보