title: @reboot is not working in CRON
body: <p>I'm trying to run a shell-script and a command at the start of my Ubuntu server.  </p>
  
  <p>Here is my <code>CRON</code></p>
  
  <pre><code>@reboot /home/steam/check.sh
  @reboot screen -d -S up -m node /var/www/html/Up1/server/server.js
  </code></pre>
  
  <p>What I'm getting in the logs:
  <code>grep CRON /var/log/syslog</code>  </p>
  
  <pre><code>Jul 19 19:48:28 vc1s cron[3185]: (CRON) INFO (pidfile fd = 3)
  Jul 19 19:48:28 vc1s cron[3185]: (CRON) INFO (Running @reboot jobs)
  Jul 19 19:48:28 vc1s CRON[3209]: (root) CMD (screen -d -S up -m node /var/www/html/Up1/server/server.js)
  Jul 19 19:48:28 vc1s CRON[3211]: (root) CMD (/home/steam/check.sh)
  Jul 19 19:51:20 vc1s cron[3779]: (CRON) DEATH (can't lock /var/run/crond.pid, otherpid may be 3185: Resource temporarily unavailable)
  Jul 19 19:55:01 vc1s CRON[3996]: (root) CMD (command -v debian-sa1 &gt; /dev/null &amp;&amp; debian-sa1 1 1)
  </code></pre>
  
  <p>My <code>check.sh</code>.</p>
  
  <pre><code>#!/bin/bash
  
  until screen -d -S unturned -m /home/steam/start.sh; do
          echo "Server 'myserver' crashed with exit code $?.  Respawning.." &gt;&amp;2
          sleep 1
  done
  </code></pre>
  
  <p>My <code>start.sh</code>. It's for launching an Unturned game server. I don't think this script is important but I guess I should show you.</p>
  
  <pre><code>#!/bin/bash
  # This script starts a Unturned 3 server on Linux machines
  # Syntax: start.sh &lt;instance name&gt;
  # Author: fr34kyn01535
  
  #CONFIG
  INSTANCE_NAME=1
  STEAMCMD_HOME="./steamcmd"
  UNTURNED_HOME="./unturned"
  
  #COLORS
  RED='\033[0;31m'
  GREEN='\033[0;32m'
  YELLLOW='\033[0;33m'
  NC='\033[0m'
  
  #Steam checks
  STEAMCMD_API=$STEAMCMD_HOME/linux32/steamclient.so
  UNTURNED_API=$UNTURNED_HOME/Unturned_Data/Plugins/x86/steamclient.so
  printf "Steam: "
  if [ -f $STEAMCMD_API ]; then
          if diff $STEAMCMD_API $UNTURNED_API &gt;/dev/null ; then
                  printf "${GREEN}UP TO DATE${NC}\n\n"
          else
                  cp $STEAMCMD_API $UNTURNED_API
                  printf "${YELLLOW}UPDATING${NC}\n\n"
          fi
  else
          printf "${RED}NOT FOUND${NC}\n\n"
  fi
  
  cd $UNTURNED_HOME
  
  if [ -f RocketLauncher.exe ]; then
          ulimit -n 2048
          mono RocketLauncher.exe $INSTANCE_NAME
  else
          echo "RocketLauncher not found."
  fi
  </code></pre>
  
  <p>The thing is that if I execute <code>./check.sh</code> from <code>/home/steam</code> It works fine. The bad news is that the <code>@reboot</code> doesn't work for me when I reboot my VPS.</p>
  
  <p><code>screen -list</code> doesn't throw anything if I reboot.</p>
  
  <p>I've tried multiple things but didn't work, the last thing I changed was adding <code>-d</code> parameter in the <code>screen</code> commands so the server wouldn't need a <code>terminal</code> to write down the start-up.</p>
  
  <p>I'm not sure how much can be done here to make <code>@reboot</code> work as expected. </p>
  
  <p><strong>How can I make my scripts run on boot? Are there any other alternatives to <code>CRON</code>'s <code>@reboot</code>?</strong></p>
  
  <p>Thanks in advance.</p>