Extra Form
PHP PHP 7.4
CMS Rhymix 2.x

SSH로 crontab 설정하는 방법을 몰라서

cron-job으로 메달 동기화 설정 할려구 합니다.

 

주소창에 아래와 같이 입력하면 메달 동기화가 되나요?

https://도메인/modules/experience/crontab.php

  • profile
    자문자답
    주소창으로 crontab.php 실행하면 안된다고 하네요.

    터미널에서 crontab -e 설정으로 해결하였습니다.
    0 0 1 * * cd /home/계정폴더/www/modules/experience; php crontab.php > /dev/null 2>&1
  • profile

    다른 분들을 위해 추가하면, 1회만 수동으로 php를 실행하려면 터미널에서 다음과 같이 해도 됩니다. (Ubuntu에서 www-data 권한으로 실행한다고 가정하면).

     

    % sudo -u www-data bash -c 'php /home/USERNAME/www/modules/experience/crontab.php'

  • profile profile
    서버 세팅에 따라 sudo 를 안써두되고, www-data 이런아이디로 실행한다던가 그런게 필요가 없습니다.

    실제로 php를 해당 세팅한 계정에 연결된게 확실하다면 php명령어 하나만으로도 가능합니다.

    본인서버에서 그냥 <?php echo("hellow world"); ?> 코드를 test.php 파일에 넣고 php test.php 이렇게 명령어를 실행했을때 hellow world이 터미널상에 나왔다면 위와같이 복잡한 코드를 쓸 필요가 없습니다.
  • profile profile
    싱글유저 상황이면 그렇게 해도 되죠.
  • profile profile
    터미널에서 1회만 실행도 가능하군요
    또 하나 배워갑니다🥰