"사용 가능한 모듈"을 입력하면 사용 가능한 모듈 정보가 표시됩니다.
--------------------------------- /tool/applic/module-3.2.10/Modules/3.2.10/modulefiles ----------------------------
Applic/Abaqus_2016_sp1 Applic/FDTD-8.15.716-1 Applic/Raphael_2006.12-SP2 Applic/Synopsys_sx_C2009-sp1
이 정보를 1분마다 저장하고 싶습니다. 사용하여예약 된 일들.
그래서 "crontab -e"를 사용하고 이렇게 편집합니다.
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
*/1 * * * * module add something
*/1 * * * * module list >> croninfo.txt
*/1 * * * * module available >> croninfo.txt
하지만croninfo.txt비었다. "모듈"이 작동하지 않는 것 같습니다.
모듈을 추가할 수 있도록 모듈을 작동시키려면 어떻게 해야 합니까?
답변1
여기에는 두 가지 분명한 가능성이 있습니다.
cron
먼저, 해당 명령이 실행되는 환경은 일반적으로 로그인 세션에서 시작된 대화형 셸에서 얻을 수 있는 환경과 매우 다르다는 점을 기억해야 합니다 . 직업을 추가하여 이 문제를 해결한 것 같지만 PATH
기억해 두는 것이 중요합니다. 이에 대한 보충으로,cron은 명령을 실행하고 현재 작업 디렉터리는 소유자 사용자의 홈 디렉터리로 설정됩니다., 따라서 원하는 것이 아니라면 적절하게 조정해야 합니다.
둘째, 동일한 시간 지정자를 가진 명령은 정의되지 않은 순서로 실행됩니다. 당신이 글을 쓸 때
*/1 * * * * module add something
*/1 * * * * module list >> croninfo.txt
*/1 * * * * module available >> croninfo.txt
순차적으로 실행된다고 생각하실 수도 있지만 실제로는cron은 현재 원하는 순서대로 자유롭게 실행할 수 있습니다.각 명령을 시작하고 실행하는 데 걸리는 시간에 따라 여러 다른 명령을 동시에 실행할 수 있습니다.
일련의 명령을 순차적으로 실행하려면가장 좋은 접근 방식은 명령을 올바른 순서로 실행하는 간단한 스크립트를 만들고 cron에서 해당 스크립트를 실행하는 것입니다.
이렇게 하면 유사한 방법을 사용하여 #!/bin/bash -x
스크립트 실행에 대한 자세한 내용을 얻을 수 있으므로 문제를 정확히 찾아내는 데 도움이 될 수 있습니다.
/1
그런데 지정자가 필요하지 않으며 *
정상적인 */1
cron 구현에서도 동일합니다. 지정자는 1 이외의 값을 원할 때 /n
더 유용합니다 . n
예를 들어 3분마다 명령을 실행합니다( */3
처음 지정자 필드에서).