2012-05-21 5 views
1

현재 서버에서 C++ 프로그램을 실행하려고합니다. 현재는 MySQL 데이터베이스를 업데이트하고 있습니다. 나는 크론과 함께 달리고있다. 이 프로그램은 컴파일하고 내 컴퓨터 (Ubuntu 10.10)에서 실행되지만 내 서버에서 작동하는 것으로 보일 수 있습니다.Cron으로 C++ 프로그램 실행하기

cron이 PHP 스크립트로 작동하는지 확인했지만 C++ 프로그램을 실행하기 위해 무엇을해야할지 모르겠습니다. DirectAdmin에 나는 명령을 사용하고 있습니다 : program 내 컴파일 된 프로그램이다

/home/rogier/domains/ditiseenwinkel.nl/public_html/test/program &>/home/rogier/domains/ditiseenwinkel.nl/public_html/test/testsql2.log 

. 이상한 점 : 로그 파일이 비어 있습니다.

내가 뭘 잘못하고 있니? Cron을 통해 어떻게 C++ 프로그램을 실행해야합니까?

미리 감사드립니다.

+0

서버에서 cron없이 프로그램이 실행됩니까? – juanchopanza

+0

프로그램이 env 변수에 의존합니까? –

+0

파일을 실행 가능하게 만들었습니까? – acraig5075

답변

0

프로그램이 동일한 서버에서 컴파일 되었습니까? 그렇지 않다면 동일한 서버에서 소스 코드를 컴파일해야합니다.

+0

아니요, 내 서버에서 컴파일되지 않았습니다. 어떻게해야합니까? 내 하드웨어에서와 마찬가지로 내 서버가 아닙니다.) – Rogier

+0

동일한 서버에서 프로그램을 항상 컴파일해야합니다. 컴파일하려면 'g ++ -o fileName fileName.cpp'또는 'gcc -o fileName fileName.cpp'를 사용하십시오. -o는 컴파일러에게 원하는 실행 파일의 이름을 알려줍니다. –

+1

그것은 오래되었지만, 나는 cron이 필요한 곳에서 다시 무대에 서 있습니다. 물론 당신은 모두 옳았습니다. 저는 이제 제 자신의 서버를 가지고 있고, 필요한 모든 것을 설치하고, 프로그램을 컴파일하고, 잘 ... 작동합니다! 나를 설득 해 주셔서 고마워. :) – Rogier

0

실행 파일로 컴파일해야합니다. 일단 그 언어를 사용하면 더 이상 중요하지 않습니다.

주어진 명령 줄이 서버에서 실행되어 출력을 생성합니까 (예 : cron이 아닌 명령 줄을 통해)? 그렇다면 앱은 cron이 가지고 있지 않은 환경에 따라 다를 수 있습니다.

리디렉션없이 실행하면 어떨까요?

로그 파일에 대한 쓰기 권한이 있습니까?

+0

커맨드 라인 액세스 권한이 없기 때문에 cron을 통해 실행하려고했습니다. 나는 그것을 얻으려고 노력할 것이다! – Rogier

0

Cron에서는 쉘에서 명령을 실행할 수있는 한 C++/PHP/Python/.. 등 어떤 프로그램을 실행하든 상관 없습니다. 쉘에서 작성한 명령이 작동하면 cron에서도 작동해야합니다.

그러나 cron 환경 변수는 완전히 다를 수 있습니다. 그것이 cron의 문제점 중 1 위입니다. 자신의 사용자를 위해 cron 스크립트를 설치하더라도 cron 환경에 PATH가없는 것은 놀랄 것입니다. 따라서 간단한 시스템 명령 lie/bin 또는/usr/bin에 대한 전체 경로를 지정해야합니다.

다른 사용자와 마찬가지로 명령이 사용자가 아닌 다른 사용자에 의해 실행되는 경우 액세스 권한이있을 수 있습니다. 보통 가장 안전한 경로 "/ tmp"(사용자가 chroot 인 경우 제외)를 사용하여 덤프 파일을 테스트합니다.

+0

env vars의 의미는 무엇입니까? 라이브러리/includes? – Rogier

+0

모든 환경 변수. 명령 프롬프트에 "env"또는 "set"을 입력했을 때 나타나는 변수들 – SystematicFrank

+0

긴리스트입니다 :) 당신이 눈치 챘을 때, 저는 이것을 처음 접했습니다 (쉘 프로그래밍?). 이제 어떻게해야합니까? 정말 고맙습니다! – Rogier

관련 문제