정상적으로 실행되는 스크립트인데도 cron으로 실행시 오류

scred의 이미지

Ubuntu 7.04를 사용하고 있습니다.

저는 EBS 라디오 방송을 녹음하는 스크립트를 사용하고 있습니다만,
Fedora에서 Ubuntu로 바꾼 이후에 이 스크립트가 정상적으로 작동하지 않습니다.

mplayer를 이용해서 녹음한 이후에 lame으로 mp3로 전환해주는 recording.sh를 가지고 있고, cron을 이용해서 시간에 맞춰 자동실행하게 해두고 있습니다.

스크립트 자체만 test하느라

$ recording.sh English

같은 것을 수행하면 정상적으로 English.mp3 같은 파일이 생성되는 것을 확인할 수 있는데, crontab 명령어로 스케쥴을 맞춰주고 실행하면 파일이 생성되지 않습니다.
테스트(ps -A 로 떠있는 것들 확인)해본 결과 cron 스케쥴에 맞추어서 recording.sh가 작동하는 것까지는 보이는데 mplayer가 떠 있지 않고, 파일을 생성하지 못하고 녹음시간이 지나면 스크립트가 종료되는 것으로 보입니다.

제가 볼 때는 cron도 정상이고 recording.sh도 정상인데, 서로 접목하면 오류가 발생하는 것 같아서 어떻게 처리해야할지 잘 모르겠습니다.

한가지 더 해 본 것은, 파일생성하는데 접근성이 문제가 되나 싶어서 스크립트에 홈디렉토리로 옮겨가라는 명령어도 더해보았는데 마찬가지였습니다.

무엇이 문제일까요?

언젠가는의 이미지

일단 /var/logl/cron 로그로 실행이 정상적으로되는지 확인해 보시고요,
경험상 cron 실행의 오류 문제는 환경변수 또는 PATH 문제입니다.
쉘이 돌아갈때 필요한 환경변수. 예를 들어 DB 처리같은 경우는 ORACLE_HOME
LD_LIBRARY_PATH 등의 환경변수를 쉘 안에 다 포함시켜야 정상적인 동작을 합니다.
터미널로 직접 계정으로 로그인 했을때 환경변수를 cron 을 통한 실행에선
안 먹고 들어가기 때문이죠. 아니면...
필요한 실행파일등의 PATH 도 함께 확인해 보세요. PATH 가 안 잡혀 있어, 실행이
안되는경우도 많습니다. 이럴떈 상대 경로를 절대경로로 바꿔주시면 되고요.
도움이 되셨길...

^^;

scred의 이미지

답변 감사드립니다.

실행되어야 할 mplayer의 경로를
/usr/bin/mplayer
로 직접적으로 제시하고 실행시켜도 여전히 mplayer가 실행되지 않습니다(cron에서만).

혹시 mplayer가 필요로 하는 부가파일들의 경로까지 다시 추가를 해주어야 하거나 그럴까요?

어쩌면 시스템 전체적으로 경로를 잡는데 문제가 있는 것도 같습니다.
.bash_profile의 path를 못 잡아준다거나 (.bashrc 에 직접 넣어서 해결했습니다)
멀쩡히 경로에 있는 명령어를 실행시켜도 그런 파일이 없다고 나오거나 하는 경우들도 있는 상태입니다.

Fedora와 Ubuntu가 경로를 처리하는 방식에 차이가 있나요? 이전에 잘 되던 것이 막혀서 시스템상의 차이가 있지 않나 하는 의심은 드는데 관련정보를 찾기가 어렵네요.

Informatics

crazydak의 이미지

윗분도 말씀하셨듯..cron은 profile을 안먹어서 발생한 문제가 아닐까 의심 됩니다..
참고해주세요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.