/usr/bin/env: ‘ruby’: No such file or directory












1















When crontab tries to execute the script:



@reboot sh /home/username/unicorn_start.sh > /home/username/unicorn_start.out 2>&1


It creates me a log file with the following content: /usr/bin/env: ‘ruby’: No such file or directory.



This is what I have in unicorn_start.sh:



#!/bin/bash

PATH="$PATH:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"

/etc/init.d/unicorn_myapp start


If I execute unicorn_myapp or unicorn_start.sh manually, everything works fine. As I understand, I need to add an additional path to $PATH variable. What is the way of doing it? Thanks ahead.



EDIT:



unicorn_init.sh:



#!/bin/sh
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Manage unicorn server
# Description: Start, stop, restart unicorn server for a specific application.
### END INIT INFO
set -e

# Feel free to change any of the following variables for your app:
TIMEOUT=${TIMEOUT-60}
APP_ROOT=/home/username/appname
PID=$APP_ROOT/tmp/pids/unicorn.pid
CMD="cd $APP_ROOT; bundle exec unicorn -D -c $APP_ROOT/config/unicorn.rb -E production"
AS_USER=root
set -u

OLD_PIN="$PID.oldbin"

sig () {
test -s "$PID" && kill -$1 `cat $PID`
}

oldsig () {
test -s $OLD_PIN && kill -$1 `cat $OLD_PIN`
}

run () {
if [ "$(id -un)" = "$AS_USER" ]; then
eval $1
else
su -c "$1" - $AS_USER
fi
}

case "$1" in
start)
sig 0 && echo >&2 "Already running" && exit 0
run "$CMD"
;;
stop)
sig QUIT && exit 0
echo >&2 "Not running"
;;
force-stop)
sig TERM && exit 0
echo >&2 "Not running"
;;
restart|reload)
sig HUP && echo reloaded OK && exit 0
echo >&2 "Couldn't reload, starting '$CMD' instead"
run "$CMD"
;;
upgrade)
if sig USR2 && sleep 2 && sig 0 && oldsig QUIT
then
n=$TIMEOUT
while test -s $OLD_PIN && test $n -ge 0
do
printf '.' && sleep 1 && n=$(( $n - 1 ))
done
echo

if test $n -lt 0 && test -s $OLD_PIN
then
echo >&2 "$OLD_PIN still exists after $TIMEOUT seconds"
exit 1
fi
exit 0
fi
echo >&2 "Couldn't upgrade, starting '$CMD' instead"
run "$CMD"
;;
reopen-logs)
sig USR1
;;
*)
echo >&2 "Usage: $0 <start|stop|restart|upgrade|force-stop|reopen-logs>"
exit 1
;;
esac









share|improve this question

























  • Do you want to start a daemon (assuming from /etc/init.d/)? You should start it as a service in such a case, not using cron. askubuntu.com/questions/19320/how-to-enable-or-disable-services

    – Melebius
    Jul 27 '17 at 12:05











  • When I start it like service:sudo service unicorn_appname start, it gives me an error: /etc/init.d/unicorn_appname: 1: eval: bundle: not found

    – Alex Zakruzhetskyi
    Jul 27 '17 at 12:15











  • You should show us the code in /etc/init.d/unicorn_myapp. The code you’ve posted till now does not contain any call to /usr/bin/env.

    – Melebius
    Jul 27 '17 at 13:34











  • unicorn_myapp is a symlink to unicorn_init.sh that is located in the rails project in app/config If you need the content of unicorn_init.sh, I'll add it to the post.

    – Alex Zakruzhetskyi
    Jul 27 '17 at 14:04
















1















When crontab tries to execute the script:



@reboot sh /home/username/unicorn_start.sh > /home/username/unicorn_start.out 2>&1


It creates me a log file with the following content: /usr/bin/env: ‘ruby’: No such file or directory.



This is what I have in unicorn_start.sh:



#!/bin/bash

PATH="$PATH:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"

/etc/init.d/unicorn_myapp start


If I execute unicorn_myapp or unicorn_start.sh manually, everything works fine. As I understand, I need to add an additional path to $PATH variable. What is the way of doing it? Thanks ahead.



EDIT:



unicorn_init.sh:



#!/bin/sh
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Manage unicorn server
# Description: Start, stop, restart unicorn server for a specific application.
### END INIT INFO
set -e

# Feel free to change any of the following variables for your app:
TIMEOUT=${TIMEOUT-60}
APP_ROOT=/home/username/appname
PID=$APP_ROOT/tmp/pids/unicorn.pid
CMD="cd $APP_ROOT; bundle exec unicorn -D -c $APP_ROOT/config/unicorn.rb -E production"
AS_USER=root
set -u

OLD_PIN="$PID.oldbin"

sig () {
test -s "$PID" && kill -$1 `cat $PID`
}

oldsig () {
test -s $OLD_PIN && kill -$1 `cat $OLD_PIN`
}

run () {
if [ "$(id -un)" = "$AS_USER" ]; then
eval $1
else
su -c "$1" - $AS_USER
fi
}

case "$1" in
start)
sig 0 && echo >&2 "Already running" && exit 0
run "$CMD"
;;
stop)
sig QUIT && exit 0
echo >&2 "Not running"
;;
force-stop)
sig TERM && exit 0
echo >&2 "Not running"
;;
restart|reload)
sig HUP && echo reloaded OK && exit 0
echo >&2 "Couldn't reload, starting '$CMD' instead"
run "$CMD"
;;
upgrade)
if sig USR2 && sleep 2 && sig 0 && oldsig QUIT
then
n=$TIMEOUT
while test -s $OLD_PIN && test $n -ge 0
do
printf '.' && sleep 1 && n=$(( $n - 1 ))
done
echo

if test $n -lt 0 && test -s $OLD_PIN
then
echo >&2 "$OLD_PIN still exists after $TIMEOUT seconds"
exit 1
fi
exit 0
fi
echo >&2 "Couldn't upgrade, starting '$CMD' instead"
run "$CMD"
;;
reopen-logs)
sig USR1
;;
*)
echo >&2 "Usage: $0 <start|stop|restart|upgrade|force-stop|reopen-logs>"
exit 1
;;
esac









share|improve this question

























  • Do you want to start a daemon (assuming from /etc/init.d/)? You should start it as a service in such a case, not using cron. askubuntu.com/questions/19320/how-to-enable-or-disable-services

    – Melebius
    Jul 27 '17 at 12:05











  • When I start it like service:sudo service unicorn_appname start, it gives me an error: /etc/init.d/unicorn_appname: 1: eval: bundle: not found

    – Alex Zakruzhetskyi
    Jul 27 '17 at 12:15











  • You should show us the code in /etc/init.d/unicorn_myapp. The code you’ve posted till now does not contain any call to /usr/bin/env.

    – Melebius
    Jul 27 '17 at 13:34











  • unicorn_myapp is a symlink to unicorn_init.sh that is located in the rails project in app/config If you need the content of unicorn_init.sh, I'll add it to the post.

    – Alex Zakruzhetskyi
    Jul 27 '17 at 14:04














1












1








1








When crontab tries to execute the script:



@reboot sh /home/username/unicorn_start.sh > /home/username/unicorn_start.out 2>&1


It creates me a log file with the following content: /usr/bin/env: ‘ruby’: No such file or directory.



This is what I have in unicorn_start.sh:



#!/bin/bash

PATH="$PATH:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"

/etc/init.d/unicorn_myapp start


If I execute unicorn_myapp or unicorn_start.sh manually, everything works fine. As I understand, I need to add an additional path to $PATH variable. What is the way of doing it? Thanks ahead.



EDIT:



unicorn_init.sh:



#!/bin/sh
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Manage unicorn server
# Description: Start, stop, restart unicorn server for a specific application.
### END INIT INFO
set -e

# Feel free to change any of the following variables for your app:
TIMEOUT=${TIMEOUT-60}
APP_ROOT=/home/username/appname
PID=$APP_ROOT/tmp/pids/unicorn.pid
CMD="cd $APP_ROOT; bundle exec unicorn -D -c $APP_ROOT/config/unicorn.rb -E production"
AS_USER=root
set -u

OLD_PIN="$PID.oldbin"

sig () {
test -s "$PID" && kill -$1 `cat $PID`
}

oldsig () {
test -s $OLD_PIN && kill -$1 `cat $OLD_PIN`
}

run () {
if [ "$(id -un)" = "$AS_USER" ]; then
eval $1
else
su -c "$1" - $AS_USER
fi
}

case "$1" in
start)
sig 0 && echo >&2 "Already running" && exit 0
run "$CMD"
;;
stop)
sig QUIT && exit 0
echo >&2 "Not running"
;;
force-stop)
sig TERM && exit 0
echo >&2 "Not running"
;;
restart|reload)
sig HUP && echo reloaded OK && exit 0
echo >&2 "Couldn't reload, starting '$CMD' instead"
run "$CMD"
;;
upgrade)
if sig USR2 && sleep 2 && sig 0 && oldsig QUIT
then
n=$TIMEOUT
while test -s $OLD_PIN && test $n -ge 0
do
printf '.' && sleep 1 && n=$(( $n - 1 ))
done
echo

if test $n -lt 0 && test -s $OLD_PIN
then
echo >&2 "$OLD_PIN still exists after $TIMEOUT seconds"
exit 1
fi
exit 0
fi
echo >&2 "Couldn't upgrade, starting '$CMD' instead"
run "$CMD"
;;
reopen-logs)
sig USR1
;;
*)
echo >&2 "Usage: $0 <start|stop|restart|upgrade|force-stop|reopen-logs>"
exit 1
;;
esac









share|improve this question
















When crontab tries to execute the script:



@reboot sh /home/username/unicorn_start.sh > /home/username/unicorn_start.out 2>&1


It creates me a log file with the following content: /usr/bin/env: ‘ruby’: No such file or directory.



This is what I have in unicorn_start.sh:



#!/bin/bash

PATH="$PATH:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"

/etc/init.d/unicorn_myapp start


If I execute unicorn_myapp or unicorn_start.sh manually, everything works fine. As I understand, I need to add an additional path to $PATH variable. What is the way of doing it? Thanks ahead.



EDIT:



unicorn_init.sh:



#!/bin/sh
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Manage unicorn server
# Description: Start, stop, restart unicorn server for a specific application.
### END INIT INFO
set -e

# Feel free to change any of the following variables for your app:
TIMEOUT=${TIMEOUT-60}
APP_ROOT=/home/username/appname
PID=$APP_ROOT/tmp/pids/unicorn.pid
CMD="cd $APP_ROOT; bundle exec unicorn -D -c $APP_ROOT/config/unicorn.rb -E production"
AS_USER=root
set -u

OLD_PIN="$PID.oldbin"

sig () {
test -s "$PID" && kill -$1 `cat $PID`
}

oldsig () {
test -s $OLD_PIN && kill -$1 `cat $OLD_PIN`
}

run () {
if [ "$(id -un)" = "$AS_USER" ]; then
eval $1
else
su -c "$1" - $AS_USER
fi
}

case "$1" in
start)
sig 0 && echo >&2 "Already running" && exit 0
run "$CMD"
;;
stop)
sig QUIT && exit 0
echo >&2 "Not running"
;;
force-stop)
sig TERM && exit 0
echo >&2 "Not running"
;;
restart|reload)
sig HUP && echo reloaded OK && exit 0
echo >&2 "Couldn't reload, starting '$CMD' instead"
run "$CMD"
;;
upgrade)
if sig USR2 && sleep 2 && sig 0 && oldsig QUIT
then
n=$TIMEOUT
while test -s $OLD_PIN && test $n -ge 0
do
printf '.' && sleep 1 && n=$(( $n - 1 ))
done
echo

if test $n -lt 0 && test -s $OLD_PIN
then
echo >&2 "$OLD_PIN still exists after $TIMEOUT seconds"
exit 1
fi
exit 0
fi
echo >&2 "Couldn't upgrade, starting '$CMD' instead"
run "$CMD"
;;
reopen-logs)
sig USR1
;;
*)
echo >&2 "Usage: $0 <start|stop|restart|upgrade|force-stop|reopen-logs>"
exit 1
;;
esac






server cron ruby paths rvm






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jul 27 '17 at 14:08







Alex Zakruzhetskyi

















asked Jul 27 '17 at 11:46









Alex ZakruzhetskyiAlex Zakruzhetskyi

11319




11319













  • Do you want to start a daemon (assuming from /etc/init.d/)? You should start it as a service in such a case, not using cron. askubuntu.com/questions/19320/how-to-enable-or-disable-services

    – Melebius
    Jul 27 '17 at 12:05











  • When I start it like service:sudo service unicorn_appname start, it gives me an error: /etc/init.d/unicorn_appname: 1: eval: bundle: not found

    – Alex Zakruzhetskyi
    Jul 27 '17 at 12:15











  • You should show us the code in /etc/init.d/unicorn_myapp. The code you’ve posted till now does not contain any call to /usr/bin/env.

    – Melebius
    Jul 27 '17 at 13:34











  • unicorn_myapp is a symlink to unicorn_init.sh that is located in the rails project in app/config If you need the content of unicorn_init.sh, I'll add it to the post.

    – Alex Zakruzhetskyi
    Jul 27 '17 at 14:04



















  • Do you want to start a daemon (assuming from /etc/init.d/)? You should start it as a service in such a case, not using cron. askubuntu.com/questions/19320/how-to-enable-or-disable-services

    – Melebius
    Jul 27 '17 at 12:05











  • When I start it like service:sudo service unicorn_appname start, it gives me an error: /etc/init.d/unicorn_appname: 1: eval: bundle: not found

    – Alex Zakruzhetskyi
    Jul 27 '17 at 12:15











  • You should show us the code in /etc/init.d/unicorn_myapp. The code you’ve posted till now does not contain any call to /usr/bin/env.

    – Melebius
    Jul 27 '17 at 13:34











  • unicorn_myapp is a symlink to unicorn_init.sh that is located in the rails project in app/config If you need the content of unicorn_init.sh, I'll add it to the post.

    – Alex Zakruzhetskyi
    Jul 27 '17 at 14:04

















Do you want to start a daemon (assuming from /etc/init.d/)? You should start it as a service in such a case, not using cron. askubuntu.com/questions/19320/how-to-enable-or-disable-services

– Melebius
Jul 27 '17 at 12:05





Do you want to start a daemon (assuming from /etc/init.d/)? You should start it as a service in such a case, not using cron. askubuntu.com/questions/19320/how-to-enable-or-disable-services

– Melebius
Jul 27 '17 at 12:05













When I start it like service:sudo service unicorn_appname start, it gives me an error: /etc/init.d/unicorn_appname: 1: eval: bundle: not found

– Alex Zakruzhetskyi
Jul 27 '17 at 12:15





When I start it like service:sudo service unicorn_appname start, it gives me an error: /etc/init.d/unicorn_appname: 1: eval: bundle: not found

– Alex Zakruzhetskyi
Jul 27 '17 at 12:15













You should show us the code in /etc/init.d/unicorn_myapp. The code you’ve posted till now does not contain any call to /usr/bin/env.

– Melebius
Jul 27 '17 at 13:34





You should show us the code in /etc/init.d/unicorn_myapp. The code you’ve posted till now does not contain any call to /usr/bin/env.

– Melebius
Jul 27 '17 at 13:34













unicorn_myapp is a symlink to unicorn_init.sh that is located in the rails project in app/config If you need the content of unicorn_init.sh, I'll add it to the post.

– Alex Zakruzhetskyi
Jul 27 '17 at 14:04





unicorn_myapp is a symlink to unicorn_init.sh that is located in the rails project in app/config If you need the content of unicorn_init.sh, I'll add it to the post.

– Alex Zakruzhetskyi
Jul 27 '17 at 14:04










2 Answers
2






active

oldest

votes


















0














If you use the which command you should be able to see where your ruby executable is located e.g



which ruby

/usr/bin/ruby


The you could add that path to the $PATH variable to straight to the crontab (not sure what best practice may dictate but has worked for me in the past)






share|improve this answer































    0














    The default PATH crontab is using is "only" /usr/bin:/bin, however you can adjust it.



    Instead of writing the things in that script try adding it directly into the crontab command:



    @reboot PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"; /etc/init.d/unicorn_myapp start > /home/username/unicorn_start.out 2>&1


    You can also add the path variable above every cronjob so it's applicable to every task you put in there:



     PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"
    #
    #
    * * * * * myjob.sh
    @reboot /home/username/unicorn_start.sh > /home/username/unicorn_start.out 2>&1





    share|improve this answer
























    • Still, it gives me the same error: /usr/bin/env: ‘ruby’: No such file or directory

      – Alex Zakruzhetskyi
      Jul 27 '17 at 12:27











    • Which solution did you try?

      – Ziazis
      Jul 27 '17 at 12:31











    • The first one you wrote. EDIT: Tried the second solution, but the result didn't change.

      – Alex Zakruzhetskyi
      Jul 27 '17 at 12:32








    • 1





      Sounds more like an issue in your ruby script then cronjob issue. You can try the same with just a simple "echo $PATH" instead of your script and see what the PATH variable consists of or create a hello world ruby script and try piping that ouput into a file.

      – Ziazis
      Jul 27 '17 at 12:47













    • The output of echo $PATH: /root/bin:/root/.local/bin:/root/.rbenv/plugins/ruby-build/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/usr/local/rvm/gems/ruby-1.9.2-p180@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p180/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/snap/bin:/usr/local/rvm/bin

      – Alex Zakruzhetskyi
      Jul 27 '17 at 12:54












    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "89"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f940307%2fusr-bin-env-ruby-no-such-file-or-directory%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    If you use the which command you should be able to see where your ruby executable is located e.g



    which ruby

    /usr/bin/ruby


    The you could add that path to the $PATH variable to straight to the crontab (not sure what best practice may dictate but has worked for me in the past)






    share|improve this answer




























      0














      If you use the which command you should be able to see where your ruby executable is located e.g



      which ruby

      /usr/bin/ruby


      The you could add that path to the $PATH variable to straight to the crontab (not sure what best practice may dictate but has worked for me in the past)






      share|improve this answer


























        0












        0








        0







        If you use the which command you should be able to see where your ruby executable is located e.g



        which ruby

        /usr/bin/ruby


        The you could add that path to the $PATH variable to straight to the crontab (not sure what best practice may dictate but has worked for me in the past)






        share|improve this answer













        If you use the which command you should be able to see where your ruby executable is located e.g



        which ruby

        /usr/bin/ruby


        The you could add that path to the $PATH variable to straight to the crontab (not sure what best practice may dictate but has worked for me in the past)







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jul 27 '17 at 12:04









        mrjamesmyersmrjamesmyers

        1011




        1011

























            0














            The default PATH crontab is using is "only" /usr/bin:/bin, however you can adjust it.



            Instead of writing the things in that script try adding it directly into the crontab command:



            @reboot PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"; /etc/init.d/unicorn_myapp start > /home/username/unicorn_start.out 2>&1


            You can also add the path variable above every cronjob so it's applicable to every task you put in there:



             PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"
            #
            #
            * * * * * myjob.sh
            @reboot /home/username/unicorn_start.sh > /home/username/unicorn_start.out 2>&1





            share|improve this answer
























            • Still, it gives me the same error: /usr/bin/env: ‘ruby’: No such file or directory

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:27











            • Which solution did you try?

              – Ziazis
              Jul 27 '17 at 12:31











            • The first one you wrote. EDIT: Tried the second solution, but the result didn't change.

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:32








            • 1





              Sounds more like an issue in your ruby script then cronjob issue. You can try the same with just a simple "echo $PATH" instead of your script and see what the PATH variable consists of or create a hello world ruby script and try piping that ouput into a file.

              – Ziazis
              Jul 27 '17 at 12:47













            • The output of echo $PATH: /root/bin:/root/.local/bin:/root/.rbenv/plugins/ruby-build/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/usr/local/rvm/gems/ruby-1.9.2-p180@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p180/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/snap/bin:/usr/local/rvm/bin

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:54
















            0














            The default PATH crontab is using is "only" /usr/bin:/bin, however you can adjust it.



            Instead of writing the things in that script try adding it directly into the crontab command:



            @reboot PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"; /etc/init.d/unicorn_myapp start > /home/username/unicorn_start.out 2>&1


            You can also add the path variable above every cronjob so it's applicable to every task you put in there:



             PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"
            #
            #
            * * * * * myjob.sh
            @reboot /home/username/unicorn_start.sh > /home/username/unicorn_start.out 2>&1





            share|improve this answer
























            • Still, it gives me the same error: /usr/bin/env: ‘ruby’: No such file or directory

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:27











            • Which solution did you try?

              – Ziazis
              Jul 27 '17 at 12:31











            • The first one you wrote. EDIT: Tried the second solution, but the result didn't change.

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:32








            • 1





              Sounds more like an issue in your ruby script then cronjob issue. You can try the same with just a simple "echo $PATH" instead of your script and see what the PATH variable consists of or create a hello world ruby script and try piping that ouput into a file.

              – Ziazis
              Jul 27 '17 at 12:47













            • The output of echo $PATH: /root/bin:/root/.local/bin:/root/.rbenv/plugins/ruby-build/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/usr/local/rvm/gems/ruby-1.9.2-p180@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p180/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/snap/bin:/usr/local/rvm/bin

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:54














            0












            0








            0







            The default PATH crontab is using is "only" /usr/bin:/bin, however you can adjust it.



            Instead of writing the things in that script try adding it directly into the crontab command:



            @reboot PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"; /etc/init.d/unicorn_myapp start > /home/username/unicorn_start.out 2>&1


            You can also add the path variable above every cronjob so it's applicable to every task you put in there:



             PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"
            #
            #
            * * * * * myjob.sh
            @reboot /home/username/unicorn_start.sh > /home/username/unicorn_start.out 2>&1





            share|improve this answer













            The default PATH crontab is using is "only" /usr/bin:/bin, however you can adjust it.



            Instead of writing the things in that script try adding it directly into the crontab command:



            @reboot PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"; /etc/init.d/unicorn_myapp start > /home/username/unicorn_start.out 2>&1


            You can also add the path variable above every cronjob so it's applicable to every task you put in there:



             PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin"
            #
            #
            * * * * * myjob.sh
            @reboot /home/username/unicorn_start.sh > /home/username/unicorn_start.out 2>&1






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jul 27 '17 at 12:21









            ZiazisZiazis

            1,913419




            1,913419













            • Still, it gives me the same error: /usr/bin/env: ‘ruby’: No such file or directory

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:27











            • Which solution did you try?

              – Ziazis
              Jul 27 '17 at 12:31











            • The first one you wrote. EDIT: Tried the second solution, but the result didn't change.

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:32








            • 1





              Sounds more like an issue in your ruby script then cronjob issue. You can try the same with just a simple "echo $PATH" instead of your script and see what the PATH variable consists of or create a hello world ruby script and try piping that ouput into a file.

              – Ziazis
              Jul 27 '17 at 12:47













            • The output of echo $PATH: /root/bin:/root/.local/bin:/root/.rbenv/plugins/ruby-build/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/usr/local/rvm/gems/ruby-1.9.2-p180@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p180/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/snap/bin:/usr/local/rvm/bin

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:54



















            • Still, it gives me the same error: /usr/bin/env: ‘ruby’: No such file or directory

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:27











            • Which solution did you try?

              – Ziazis
              Jul 27 '17 at 12:31











            • The first one you wrote. EDIT: Tried the second solution, but the result didn't change.

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:32








            • 1





              Sounds more like an issue in your ruby script then cronjob issue. You can try the same with just a simple "echo $PATH" instead of your script and see what the PATH variable consists of or create a hello world ruby script and try piping that ouput into a file.

              – Ziazis
              Jul 27 '17 at 12:47













            • The output of echo $PATH: /root/bin:/root/.local/bin:/root/.rbenv/plugins/ruby-build/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/usr/local/rvm/gems/ruby-1.9.2-p180@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p180/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/snap/bin:/usr/local/rvm/bin

              – Alex Zakruzhetskyi
              Jul 27 '17 at 12:54

















            Still, it gives me the same error: /usr/bin/env: ‘ruby’: No such file or directory

            – Alex Zakruzhetskyi
            Jul 27 '17 at 12:27





            Still, it gives me the same error: /usr/bin/env: ‘ruby’: No such file or directory

            – Alex Zakruzhetskyi
            Jul 27 '17 at 12:27













            Which solution did you try?

            – Ziazis
            Jul 27 '17 at 12:31





            Which solution did you try?

            – Ziazis
            Jul 27 '17 at 12:31













            The first one you wrote. EDIT: Tried the second solution, but the result didn't change.

            – Alex Zakruzhetskyi
            Jul 27 '17 at 12:32







            The first one you wrote. EDIT: Tried the second solution, but the result didn't change.

            – Alex Zakruzhetskyi
            Jul 27 '17 at 12:32






            1




            1





            Sounds more like an issue in your ruby script then cronjob issue. You can try the same with just a simple "echo $PATH" instead of your script and see what the PATH variable consists of or create a hello world ruby script and try piping that ouput into a file.

            – Ziazis
            Jul 27 '17 at 12:47







            Sounds more like an issue in your ruby script then cronjob issue. You can try the same with just a simple "echo $PATH" instead of your script and see what the PATH variable consists of or create a hello world ruby script and try piping that ouput into a file.

            – Ziazis
            Jul 27 '17 at 12:47















            The output of echo $PATH: /root/bin:/root/.local/bin:/root/.rbenv/plugins/ruby-build/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/usr/local/rvm/gems/ruby-1.9.2-p180@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p180/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/snap/bin:/usr/local/rvm/bin

            – Alex Zakruzhetskyi
            Jul 27 '17 at 12:54





            The output of echo $PATH: /root/bin:/root/.local/bin:/root/.rbenv/plugins/ruby-build/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/usr/local/rvm/gems/ruby-1.9.2-p180@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p180/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm/gems/ruby-1.9.2-p180/bin:/snap/bin:/usr/local/rvm/bin

            – Alex Zakruzhetskyi
            Jul 27 '17 at 12:54


















            draft saved

            draft discarded




















































            Thanks for contributing an answer to Ask Ubuntu!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f940307%2fusr-bin-env-ruby-no-such-file-or-directory%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Human spaceflight

            Can not write log (Is /dev/pts mounted?) - openpty in Ubuntu-on-Windows?

            張江高科駅