Where is the cron / crontab log?












647















I want to verify that my cron job is executing and at what time. I believe there is a log for my sudo crontab -e jobs, but where?



I searched google and found recommendations to look in /var/log (in which I do not see anything with 'cron' in the name) and to edit the file /etc/syslog.conf which I also do not have.










share|improve this question





























    647















    I want to verify that my cron job is executing and at what time. I believe there is a log for my sudo crontab -e jobs, but where?



    I searched google and found recommendations to look in /var/log (in which I do not see anything with 'cron' in the name) and to edit the file /etc/syslog.conf which I also do not have.










    share|improve this question



























      647












      647








      647


      171






      I want to verify that my cron job is executing and at what time. I believe there is a log for my sudo crontab -e jobs, but where?



      I searched google and found recommendations to look in /var/log (in which I do not see anything with 'cron' in the name) and to edit the file /etc/syslog.conf which I also do not have.










      share|improve this question
















      I want to verify that my cron job is executing and at what time. I believe there is a log for my sudo crontab -e jobs, but where?



      I searched google and found recommendations to look in /var/log (in which I do not see anything with 'cron' in the name) and to edit the file /etc/syslog.conf which I also do not have.







      cron log






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 16 '17 at 14:45









      Bruno Bronosky

      50349




      50349










      asked Aug 11 '11 at 12:06









      Scott SzretterScott Szretter

      3,3753117




      3,3753117






















          9 Answers
          9






          active

          oldest

          votes


















          774














          On a default installation the cron jobs get logged to



          /var/log/syslog


          You can see just cron jobs in that logfile by running



           grep CRON /var/log/syslog


          If you haven't reconfigured anything,the entries will be in there.






          share|improve this answer





















          • 34





            If there is no MTA installed, cron just throws the job output away.

            – Barry Kelly
            Nov 18 '13 at 23:19






          • 6





            The cron log may be in another file in the /var/log/ directory. Check for cron.log or equivalent.

            – Navigatron
            Jan 31 '14 at 10:21






          • 4





            this doesn't give me output from the job. it just gives a generic message that the cron was processed.

            – chovy
            Dec 12 '15 at 0:34






          • 2





            on AWS it was /var/log/cron

            – tsukimi
            Feb 4 '17 at 1:23






          • 4





            @shadi you could also grep -i CRON to search case-insensitive

            – nafg
            Apr 24 '17 at 2:08



















          208














          You can create a cron.log file to contain just the CRON entries that show up in syslog. Note that CRON jobs will still show up in syslog if you follow the following directions.



          Open the file



          /etc/rsyslog.d/50-default.conf


          Find the line that starts with:



          #cron.*


          uncomment that line, save the file, and restart rsyslog:



          sudo service rsyslog restart


          You should now see a cron log file here:



          /var/log/cron.log


          Cron activity will now be logged to this file (in addition to syslog).



          Note that in cron.log you will see entries for when cron ran scripts in /etc/cron.hourly, cron.daily, etc. - e.g. something like:



          Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)


          However, you will not see more information about what scripts were actually ran inside /etc/cron.daily or /etc/cron.hourly, unless those scripts direct output to the cron.log (or perhaps to some other log file).



          If you want to verify if a crontab is running and not have to search for it in cron.log or syslog, create a crontab that redirects output to a log file of your choice - something like:



          01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1


          This will redirect all standard output and errors that may be produced by the script that is run to the log file specified.






          share|improve this answer



















          • 1





            With my opinion, this answer is better in future. So your syslog file is more clear.

            – shgnInc
            Dec 22 '13 at 8:36








          • 9





            To also exclude the cron log from syslog you can change the line *.*;auth,authpriv.none -/var/log/syslog to *.*;auth,authpriv.none,cron.none -/var/log/syslog.

            – Koen.
            Feb 13 '14 at 11:35











          • On our CentOS 6, cron.* defined in /etc/rsyslog.conf, whereas i's empty in rsyslog.d folder.

            – Scott Chu
            Sep 17 '14 at 3:35











          • what is 2>&1 stand for ?

            – John Joe
            Mar 21 '17 at 2:41






          • 1





            @JohnJoe 2>&1 is used to forward stderr to stdout, this way you'll also get stderr to log file.

            – Sampo Sarrala
            Jul 25 '17 at 12:38





















          71














          Sometimes it can be useful to continuously monitor it, in that case:



          tail -f /var/log/syslog | grep CRON





          share|improve this answer



















          • 9





            Well, you probably want to use -F, which will follow the file across name changes, so that when it gets truncated/moved to, e.g. /var/log/syslog.1.gz, you're still following the current /var/log/syslog file. Per the man docs, this is the same as running tail xxxx -f --retry

            – Momer
            Dec 17 '14 at 22:24



















          26














          You can also direct the output of the individual cronjobs to their own logs for better readability, you will just need to append the output of date somewhere.



           0 15 * * *    /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1





          share|improve this answer





















          • 4





            true, but if this line fails to run due to syntax error, nothing will be written in the output log specified.

            – Raptor
            Jul 24 '15 at 2:37






          • 9





            You can solve this by appending 2>&1 after the log file is specified. It is also best practice to test your cronjobs before adding them to the crontab, and then being present for the first scheduled run to ensure that the crontab is properly formatted.

            – Andrew Meyer
            Jul 24 '15 at 16:04





















          8














          This is a very old question, but none of these answers seem satisfactory.



          First make your cron job run every minute, then run cron as non-daemon (temporarily, just kill any crond that may have already started) with test logging:



          crond -nx test



          And see the log of your program execution flowing through your terminal.






          share|improve this answer



















          • 5





            Does not run on 14.04 - No command 'crond' found, did you mean: Command 'cron' from package 'cron' (main)

            – G-.
            Jul 6 '17 at 9:40



















          6














          It is in /var/log/syslog by default.



          But it can be set up to create a separate cron.log, which is more useful.



          This Q&A describes the process:



          16.04: How do I make cron create cron.log and monitor it in real time?



          Also in this answer is the instructions to create a wcron command that displays it is near-real-time. Plus, it links to another answer,



          How to change cron log level?



          that shows how to change the log level to include more than just the start of jobs - level 15 will show errors and end time, also.






          share|improve this answer

































            2














            If you have systemd installed on your system, you could display cron job log by using the journalctl command.



            For example, on my Ubuntu 17.10:



            journalctl -u cron.service





            share|improve this answer































              1














              You could redirect the output of cron to a tmp file



              Such as:
              00 11 07 * * /bin/bash /home/ubuntu/command.sh > /tmp/output 2>&1



              Error and normal output, both will be redirected to the same file






              share|improve this answer































                0














                Fedoar 29 and RHEL 7



                journalctl -t CROND


                From the journalctl manual:



                   -t, --identifier=SYSLOG_IDENTIFIER|PATTERN
                Show messages for the specified syslog identifier SYSLOG_IDENTIFIER, or for any of the messages with a "SYSLOG_IDENTIFIER" matched by PATTERN.

                This parameter can be specified multiple times.





                share|improve this answer























                  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%2f56683%2fwhere-is-the-cron-crontab-log%23new-answer', 'question_page');
                  }
                  );

                  Post as a guest















                  Required, but never shown

























                  9 Answers
                  9






                  active

                  oldest

                  votes








                  9 Answers
                  9






                  active

                  oldest

                  votes









                  active

                  oldest

                  votes






                  active

                  oldest

                  votes









                  774














                  On a default installation the cron jobs get logged to



                  /var/log/syslog


                  You can see just cron jobs in that logfile by running



                   grep CRON /var/log/syslog


                  If you haven't reconfigured anything,the entries will be in there.






                  share|improve this answer





















                  • 34





                    If there is no MTA installed, cron just throws the job output away.

                    – Barry Kelly
                    Nov 18 '13 at 23:19






                  • 6





                    The cron log may be in another file in the /var/log/ directory. Check for cron.log or equivalent.

                    – Navigatron
                    Jan 31 '14 at 10:21






                  • 4





                    this doesn't give me output from the job. it just gives a generic message that the cron was processed.

                    – chovy
                    Dec 12 '15 at 0:34






                  • 2





                    on AWS it was /var/log/cron

                    – tsukimi
                    Feb 4 '17 at 1:23






                  • 4





                    @shadi you could also grep -i CRON to search case-insensitive

                    – nafg
                    Apr 24 '17 at 2:08
















                  774














                  On a default installation the cron jobs get logged to



                  /var/log/syslog


                  You can see just cron jobs in that logfile by running



                   grep CRON /var/log/syslog


                  If you haven't reconfigured anything,the entries will be in there.






                  share|improve this answer





















                  • 34





                    If there is no MTA installed, cron just throws the job output away.

                    – Barry Kelly
                    Nov 18 '13 at 23:19






                  • 6





                    The cron log may be in another file in the /var/log/ directory. Check for cron.log or equivalent.

                    – Navigatron
                    Jan 31 '14 at 10:21






                  • 4





                    this doesn't give me output from the job. it just gives a generic message that the cron was processed.

                    – chovy
                    Dec 12 '15 at 0:34






                  • 2





                    on AWS it was /var/log/cron

                    – tsukimi
                    Feb 4 '17 at 1:23






                  • 4





                    @shadi you could also grep -i CRON to search case-insensitive

                    – nafg
                    Apr 24 '17 at 2:08














                  774












                  774








                  774







                  On a default installation the cron jobs get logged to



                  /var/log/syslog


                  You can see just cron jobs in that logfile by running



                   grep CRON /var/log/syslog


                  If you haven't reconfigured anything,the entries will be in there.






                  share|improve this answer















                  On a default installation the cron jobs get logged to



                  /var/log/syslog


                  You can see just cron jobs in that logfile by running



                   grep CRON /var/log/syslog


                  If you haven't reconfigured anything,the entries will be in there.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Aug 16 '12 at 10:27







                  user76204

















                  answered Aug 12 '11 at 10:58









                  Richard HollowayRichard Holloway

                  20.4k54252




                  20.4k54252








                  • 34





                    If there is no MTA installed, cron just throws the job output away.

                    – Barry Kelly
                    Nov 18 '13 at 23:19






                  • 6





                    The cron log may be in another file in the /var/log/ directory. Check for cron.log or equivalent.

                    – Navigatron
                    Jan 31 '14 at 10:21






                  • 4





                    this doesn't give me output from the job. it just gives a generic message that the cron was processed.

                    – chovy
                    Dec 12 '15 at 0:34






                  • 2





                    on AWS it was /var/log/cron

                    – tsukimi
                    Feb 4 '17 at 1:23






                  • 4





                    @shadi you could also grep -i CRON to search case-insensitive

                    – nafg
                    Apr 24 '17 at 2:08














                  • 34





                    If there is no MTA installed, cron just throws the job output away.

                    – Barry Kelly
                    Nov 18 '13 at 23:19






                  • 6





                    The cron log may be in another file in the /var/log/ directory. Check for cron.log or equivalent.

                    – Navigatron
                    Jan 31 '14 at 10:21






                  • 4





                    this doesn't give me output from the job. it just gives a generic message that the cron was processed.

                    – chovy
                    Dec 12 '15 at 0:34






                  • 2





                    on AWS it was /var/log/cron

                    – tsukimi
                    Feb 4 '17 at 1:23






                  • 4





                    @shadi you could also grep -i CRON to search case-insensitive

                    – nafg
                    Apr 24 '17 at 2:08








                  34




                  34





                  If there is no MTA installed, cron just throws the job output away.

                  – Barry Kelly
                  Nov 18 '13 at 23:19





                  If there is no MTA installed, cron just throws the job output away.

                  – Barry Kelly
                  Nov 18 '13 at 23:19




                  6




                  6





                  The cron log may be in another file in the /var/log/ directory. Check for cron.log or equivalent.

                  – Navigatron
                  Jan 31 '14 at 10:21





                  The cron log may be in another file in the /var/log/ directory. Check for cron.log or equivalent.

                  – Navigatron
                  Jan 31 '14 at 10:21




                  4




                  4





                  this doesn't give me output from the job. it just gives a generic message that the cron was processed.

                  – chovy
                  Dec 12 '15 at 0:34





                  this doesn't give me output from the job. it just gives a generic message that the cron was processed.

                  – chovy
                  Dec 12 '15 at 0:34




                  2




                  2





                  on AWS it was /var/log/cron

                  – tsukimi
                  Feb 4 '17 at 1:23





                  on AWS it was /var/log/cron

                  – tsukimi
                  Feb 4 '17 at 1:23




                  4




                  4





                  @shadi you could also grep -i CRON to search case-insensitive

                  – nafg
                  Apr 24 '17 at 2:08





                  @shadi you could also grep -i CRON to search case-insensitive

                  – nafg
                  Apr 24 '17 at 2:08













                  208














                  You can create a cron.log file to contain just the CRON entries that show up in syslog. Note that CRON jobs will still show up in syslog if you follow the following directions.



                  Open the file



                  /etc/rsyslog.d/50-default.conf


                  Find the line that starts with:



                  #cron.*


                  uncomment that line, save the file, and restart rsyslog:



                  sudo service rsyslog restart


                  You should now see a cron log file here:



                  /var/log/cron.log


                  Cron activity will now be logged to this file (in addition to syslog).



                  Note that in cron.log you will see entries for when cron ran scripts in /etc/cron.hourly, cron.daily, etc. - e.g. something like:



                  Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)


                  However, you will not see more information about what scripts were actually ran inside /etc/cron.daily or /etc/cron.hourly, unless those scripts direct output to the cron.log (or perhaps to some other log file).



                  If you want to verify if a crontab is running and not have to search for it in cron.log or syslog, create a crontab that redirects output to a log file of your choice - something like:



                  01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1


                  This will redirect all standard output and errors that may be produced by the script that is run to the log file specified.






                  share|improve this answer



















                  • 1





                    With my opinion, this answer is better in future. So your syslog file is more clear.

                    – shgnInc
                    Dec 22 '13 at 8:36








                  • 9





                    To also exclude the cron log from syslog you can change the line *.*;auth,authpriv.none -/var/log/syslog to *.*;auth,authpriv.none,cron.none -/var/log/syslog.

                    – Koen.
                    Feb 13 '14 at 11:35











                  • On our CentOS 6, cron.* defined in /etc/rsyslog.conf, whereas i's empty in rsyslog.d folder.

                    – Scott Chu
                    Sep 17 '14 at 3:35











                  • what is 2>&1 stand for ?

                    – John Joe
                    Mar 21 '17 at 2:41






                  • 1





                    @JohnJoe 2>&1 is used to forward stderr to stdout, this way you'll also get stderr to log file.

                    – Sampo Sarrala
                    Jul 25 '17 at 12:38


















                  208














                  You can create a cron.log file to contain just the CRON entries that show up in syslog. Note that CRON jobs will still show up in syslog if you follow the following directions.



                  Open the file



                  /etc/rsyslog.d/50-default.conf


                  Find the line that starts with:



                  #cron.*


                  uncomment that line, save the file, and restart rsyslog:



                  sudo service rsyslog restart


                  You should now see a cron log file here:



                  /var/log/cron.log


                  Cron activity will now be logged to this file (in addition to syslog).



                  Note that in cron.log you will see entries for when cron ran scripts in /etc/cron.hourly, cron.daily, etc. - e.g. something like:



                  Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)


                  However, you will not see more information about what scripts were actually ran inside /etc/cron.daily or /etc/cron.hourly, unless those scripts direct output to the cron.log (or perhaps to some other log file).



                  If you want to verify if a crontab is running and not have to search for it in cron.log or syslog, create a crontab that redirects output to a log file of your choice - something like:



                  01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1


                  This will redirect all standard output and errors that may be produced by the script that is run to the log file specified.






                  share|improve this answer



















                  • 1





                    With my opinion, this answer is better in future. So your syslog file is more clear.

                    – shgnInc
                    Dec 22 '13 at 8:36








                  • 9





                    To also exclude the cron log from syslog you can change the line *.*;auth,authpriv.none -/var/log/syslog to *.*;auth,authpriv.none,cron.none -/var/log/syslog.

                    – Koen.
                    Feb 13 '14 at 11:35











                  • On our CentOS 6, cron.* defined in /etc/rsyslog.conf, whereas i's empty in rsyslog.d folder.

                    – Scott Chu
                    Sep 17 '14 at 3:35











                  • what is 2>&1 stand for ?

                    – John Joe
                    Mar 21 '17 at 2:41






                  • 1





                    @JohnJoe 2>&1 is used to forward stderr to stdout, this way you'll also get stderr to log file.

                    – Sampo Sarrala
                    Jul 25 '17 at 12:38
















                  208












                  208








                  208







                  You can create a cron.log file to contain just the CRON entries that show up in syslog. Note that CRON jobs will still show up in syslog if you follow the following directions.



                  Open the file



                  /etc/rsyslog.d/50-default.conf


                  Find the line that starts with:



                  #cron.*


                  uncomment that line, save the file, and restart rsyslog:



                  sudo service rsyslog restart


                  You should now see a cron log file here:



                  /var/log/cron.log


                  Cron activity will now be logged to this file (in addition to syslog).



                  Note that in cron.log you will see entries for when cron ran scripts in /etc/cron.hourly, cron.daily, etc. - e.g. something like:



                  Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)


                  However, you will not see more information about what scripts were actually ran inside /etc/cron.daily or /etc/cron.hourly, unless those scripts direct output to the cron.log (or perhaps to some other log file).



                  If you want to verify if a crontab is running and not have to search for it in cron.log or syslog, create a crontab that redirects output to a log file of your choice - something like:



                  01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1


                  This will redirect all standard output and errors that may be produced by the script that is run to the log file specified.






                  share|improve this answer













                  You can create a cron.log file to contain just the CRON entries that show up in syslog. Note that CRON jobs will still show up in syslog if you follow the following directions.



                  Open the file



                  /etc/rsyslog.d/50-default.conf


                  Find the line that starts with:



                  #cron.*


                  uncomment that line, save the file, and restart rsyslog:



                  sudo service rsyslog restart


                  You should now see a cron log file here:



                  /var/log/cron.log


                  Cron activity will now be logged to this file (in addition to syslog).



                  Note that in cron.log you will see entries for when cron ran scripts in /etc/cron.hourly, cron.daily, etc. - e.g. something like:



                  Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)


                  However, you will not see more information about what scripts were actually ran inside /etc/cron.daily or /etc/cron.hourly, unless those scripts direct output to the cron.log (or perhaps to some other log file).



                  If you want to verify if a crontab is running and not have to search for it in cron.log or syslog, create a crontab that redirects output to a log file of your choice - something like:



                  01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1


                  This will redirect all standard output and errors that may be produced by the script that is run to the log file specified.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Apr 13 '12 at 1:36









                  user12345user12345

                  2,3811117




                  2,3811117








                  • 1





                    With my opinion, this answer is better in future. So your syslog file is more clear.

                    – shgnInc
                    Dec 22 '13 at 8:36








                  • 9





                    To also exclude the cron log from syslog you can change the line *.*;auth,authpriv.none -/var/log/syslog to *.*;auth,authpriv.none,cron.none -/var/log/syslog.

                    – Koen.
                    Feb 13 '14 at 11:35











                  • On our CentOS 6, cron.* defined in /etc/rsyslog.conf, whereas i's empty in rsyslog.d folder.

                    – Scott Chu
                    Sep 17 '14 at 3:35











                  • what is 2>&1 stand for ?

                    – John Joe
                    Mar 21 '17 at 2:41






                  • 1





                    @JohnJoe 2>&1 is used to forward stderr to stdout, this way you'll also get stderr to log file.

                    – Sampo Sarrala
                    Jul 25 '17 at 12:38
















                  • 1





                    With my opinion, this answer is better in future. So your syslog file is more clear.

                    – shgnInc
                    Dec 22 '13 at 8:36








                  • 9





                    To also exclude the cron log from syslog you can change the line *.*;auth,authpriv.none -/var/log/syslog to *.*;auth,authpriv.none,cron.none -/var/log/syslog.

                    – Koen.
                    Feb 13 '14 at 11:35











                  • On our CentOS 6, cron.* defined in /etc/rsyslog.conf, whereas i's empty in rsyslog.d folder.

                    – Scott Chu
                    Sep 17 '14 at 3:35











                  • what is 2>&1 stand for ?

                    – John Joe
                    Mar 21 '17 at 2:41






                  • 1





                    @JohnJoe 2>&1 is used to forward stderr to stdout, this way you'll also get stderr to log file.

                    – Sampo Sarrala
                    Jul 25 '17 at 12:38










                  1




                  1





                  With my opinion, this answer is better in future. So your syslog file is more clear.

                  – shgnInc
                  Dec 22 '13 at 8:36







                  With my opinion, this answer is better in future. So your syslog file is more clear.

                  – shgnInc
                  Dec 22 '13 at 8:36






                  9




                  9





                  To also exclude the cron log from syslog you can change the line *.*;auth,authpriv.none -/var/log/syslog to *.*;auth,authpriv.none,cron.none -/var/log/syslog.

                  – Koen.
                  Feb 13 '14 at 11:35





                  To also exclude the cron log from syslog you can change the line *.*;auth,authpriv.none -/var/log/syslog to *.*;auth,authpriv.none,cron.none -/var/log/syslog.

                  – Koen.
                  Feb 13 '14 at 11:35













                  On our CentOS 6, cron.* defined in /etc/rsyslog.conf, whereas i's empty in rsyslog.d folder.

                  – Scott Chu
                  Sep 17 '14 at 3:35





                  On our CentOS 6, cron.* defined in /etc/rsyslog.conf, whereas i's empty in rsyslog.d folder.

                  – Scott Chu
                  Sep 17 '14 at 3:35













                  what is 2>&1 stand for ?

                  – John Joe
                  Mar 21 '17 at 2:41





                  what is 2>&1 stand for ?

                  – John Joe
                  Mar 21 '17 at 2:41




                  1




                  1





                  @JohnJoe 2>&1 is used to forward stderr to stdout, this way you'll also get stderr to log file.

                  – Sampo Sarrala
                  Jul 25 '17 at 12:38







                  @JohnJoe 2>&1 is used to forward stderr to stdout, this way you'll also get stderr to log file.

                  – Sampo Sarrala
                  Jul 25 '17 at 12:38













                  71














                  Sometimes it can be useful to continuously monitor it, in that case:



                  tail -f /var/log/syslog | grep CRON





                  share|improve this answer



















                  • 9





                    Well, you probably want to use -F, which will follow the file across name changes, so that when it gets truncated/moved to, e.g. /var/log/syslog.1.gz, you're still following the current /var/log/syslog file. Per the man docs, this is the same as running tail xxxx -f --retry

                    – Momer
                    Dec 17 '14 at 22:24
















                  71














                  Sometimes it can be useful to continuously monitor it, in that case:



                  tail -f /var/log/syslog | grep CRON





                  share|improve this answer



















                  • 9





                    Well, you probably want to use -F, which will follow the file across name changes, so that when it gets truncated/moved to, e.g. /var/log/syslog.1.gz, you're still following the current /var/log/syslog file. Per the man docs, this is the same as running tail xxxx -f --retry

                    – Momer
                    Dec 17 '14 at 22:24














                  71












                  71








                  71







                  Sometimes it can be useful to continuously monitor it, in that case:



                  tail -f /var/log/syslog | grep CRON





                  share|improve this answer













                  Sometimes it can be useful to continuously monitor it, in that case:



                  tail -f /var/log/syslog | grep CRON






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered May 14 '13 at 7:34









                  KennyCasonKennyCason

                  81164




                  81164








                  • 9





                    Well, you probably want to use -F, which will follow the file across name changes, so that when it gets truncated/moved to, e.g. /var/log/syslog.1.gz, you're still following the current /var/log/syslog file. Per the man docs, this is the same as running tail xxxx -f --retry

                    – Momer
                    Dec 17 '14 at 22:24














                  • 9





                    Well, you probably want to use -F, which will follow the file across name changes, so that when it gets truncated/moved to, e.g. /var/log/syslog.1.gz, you're still following the current /var/log/syslog file. Per the man docs, this is the same as running tail xxxx -f --retry

                    – Momer
                    Dec 17 '14 at 22:24








                  9




                  9





                  Well, you probably want to use -F, which will follow the file across name changes, so that when it gets truncated/moved to, e.g. /var/log/syslog.1.gz, you're still following the current /var/log/syslog file. Per the man docs, this is the same as running tail xxxx -f --retry

                  – Momer
                  Dec 17 '14 at 22:24





                  Well, you probably want to use -F, which will follow the file across name changes, so that when it gets truncated/moved to, e.g. /var/log/syslog.1.gz, you're still following the current /var/log/syslog file. Per the man docs, this is the same as running tail xxxx -f --retry

                  – Momer
                  Dec 17 '14 at 22:24











                  26














                  You can also direct the output of the individual cronjobs to their own logs for better readability, you will just need to append the output of date somewhere.



                   0 15 * * *    /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1





                  share|improve this answer





















                  • 4





                    true, but if this line fails to run due to syntax error, nothing will be written in the output log specified.

                    – Raptor
                    Jul 24 '15 at 2:37






                  • 9





                    You can solve this by appending 2>&1 after the log file is specified. It is also best practice to test your cronjobs before adding them to the crontab, and then being present for the first scheduled run to ensure that the crontab is properly formatted.

                    – Andrew Meyer
                    Jul 24 '15 at 16:04


















                  26














                  You can also direct the output of the individual cronjobs to their own logs for better readability, you will just need to append the output of date somewhere.



                   0 15 * * *    /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1





                  share|improve this answer





















                  • 4





                    true, but if this line fails to run due to syntax error, nothing will be written in the output log specified.

                    – Raptor
                    Jul 24 '15 at 2:37






                  • 9





                    You can solve this by appending 2>&1 after the log file is specified. It is also best practice to test your cronjobs before adding them to the crontab, and then being present for the first scheduled run to ensure that the crontab is properly formatted.

                    – Andrew Meyer
                    Jul 24 '15 at 16:04
















                  26












                  26








                  26







                  You can also direct the output of the individual cronjobs to their own logs for better readability, you will just need to append the output of date somewhere.



                   0 15 * * *    /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1





                  share|improve this answer















                  You can also direct the output of the individual cronjobs to their own logs for better readability, you will just need to append the output of date somewhere.



                   0 15 * * *    /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Mar 31 '17 at 16:17









                  Kerem Baydoğan

                  1033




                  1033










                  answered Apr 1 '15 at 15:26









                  Andrew MeyerAndrew Meyer

                  66756




                  66756








                  • 4





                    true, but if this line fails to run due to syntax error, nothing will be written in the output log specified.

                    – Raptor
                    Jul 24 '15 at 2:37






                  • 9





                    You can solve this by appending 2>&1 after the log file is specified. It is also best practice to test your cronjobs before adding them to the crontab, and then being present for the first scheduled run to ensure that the crontab is properly formatted.

                    – Andrew Meyer
                    Jul 24 '15 at 16:04
















                  • 4





                    true, but if this line fails to run due to syntax error, nothing will be written in the output log specified.

                    – Raptor
                    Jul 24 '15 at 2:37






                  • 9





                    You can solve this by appending 2>&1 after the log file is specified. It is also best practice to test your cronjobs before adding them to the crontab, and then being present for the first scheduled run to ensure that the crontab is properly formatted.

                    – Andrew Meyer
                    Jul 24 '15 at 16:04










                  4




                  4





                  true, but if this line fails to run due to syntax error, nothing will be written in the output log specified.

                  – Raptor
                  Jul 24 '15 at 2:37





                  true, but if this line fails to run due to syntax error, nothing will be written in the output log specified.

                  – Raptor
                  Jul 24 '15 at 2:37




                  9




                  9





                  You can solve this by appending 2>&1 after the log file is specified. It is also best practice to test your cronjobs before adding them to the crontab, and then being present for the first scheduled run to ensure that the crontab is properly formatted.

                  – Andrew Meyer
                  Jul 24 '15 at 16:04







                  You can solve this by appending 2>&1 after the log file is specified. It is also best practice to test your cronjobs before adding them to the crontab, and then being present for the first scheduled run to ensure that the crontab is properly formatted.

                  – Andrew Meyer
                  Jul 24 '15 at 16:04













                  8














                  This is a very old question, but none of these answers seem satisfactory.



                  First make your cron job run every minute, then run cron as non-daemon (temporarily, just kill any crond that may have already started) with test logging:



                  crond -nx test



                  And see the log of your program execution flowing through your terminal.






                  share|improve this answer



















                  • 5





                    Does not run on 14.04 - No command 'crond' found, did you mean: Command 'cron' from package 'cron' (main)

                    – G-.
                    Jul 6 '17 at 9:40
















                  8














                  This is a very old question, but none of these answers seem satisfactory.



                  First make your cron job run every minute, then run cron as non-daemon (temporarily, just kill any crond that may have already started) with test logging:



                  crond -nx test



                  And see the log of your program execution flowing through your terminal.






                  share|improve this answer



















                  • 5





                    Does not run on 14.04 - No command 'crond' found, did you mean: Command 'cron' from package 'cron' (main)

                    – G-.
                    Jul 6 '17 at 9:40














                  8












                  8








                  8







                  This is a very old question, but none of these answers seem satisfactory.



                  First make your cron job run every minute, then run cron as non-daemon (temporarily, just kill any crond that may have already started) with test logging:



                  crond -nx test



                  And see the log of your program execution flowing through your terminal.






                  share|improve this answer













                  This is a very old question, but none of these answers seem satisfactory.



                  First make your cron job run every minute, then run cron as non-daemon (temporarily, just kill any crond that may have already started) with test logging:



                  crond -nx test



                  And see the log of your program execution flowing through your terminal.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Jun 17 '16 at 17:42









                  Tristan MaatTristan Maat

                  8111




                  8111








                  • 5





                    Does not run on 14.04 - No command 'crond' found, did you mean: Command 'cron' from package 'cron' (main)

                    – G-.
                    Jul 6 '17 at 9:40














                  • 5





                    Does not run on 14.04 - No command 'crond' found, did you mean: Command 'cron' from package 'cron' (main)

                    – G-.
                    Jul 6 '17 at 9:40








                  5




                  5





                  Does not run on 14.04 - No command 'crond' found, did you mean: Command 'cron' from package 'cron' (main)

                  – G-.
                  Jul 6 '17 at 9:40





                  Does not run on 14.04 - No command 'crond' found, did you mean: Command 'cron' from package 'cron' (main)

                  – G-.
                  Jul 6 '17 at 9:40











                  6














                  It is in /var/log/syslog by default.



                  But it can be set up to create a separate cron.log, which is more useful.



                  This Q&A describes the process:



                  16.04: How do I make cron create cron.log and monitor it in real time?



                  Also in this answer is the instructions to create a wcron command that displays it is near-real-time. Plus, it links to another answer,



                  How to change cron log level?



                  that shows how to change the log level to include more than just the start of jobs - level 15 will show errors and end time, also.






                  share|improve this answer






























                    6














                    It is in /var/log/syslog by default.



                    But it can be set up to create a separate cron.log, which is more useful.



                    This Q&A describes the process:



                    16.04: How do I make cron create cron.log and monitor it in real time?



                    Also in this answer is the instructions to create a wcron command that displays it is near-real-time. Plus, it links to another answer,



                    How to change cron log level?



                    that shows how to change the log level to include more than just the start of jobs - level 15 will show errors and end time, also.






                    share|improve this answer




























                      6












                      6








                      6







                      It is in /var/log/syslog by default.



                      But it can be set up to create a separate cron.log, which is more useful.



                      This Q&A describes the process:



                      16.04: How do I make cron create cron.log and monitor it in real time?



                      Also in this answer is the instructions to create a wcron command that displays it is near-real-time. Plus, it links to another answer,



                      How to change cron log level?



                      that shows how to change the log level to include more than just the start of jobs - level 15 will show errors and end time, also.






                      share|improve this answer















                      It is in /var/log/syslog by default.



                      But it can be set up to create a separate cron.log, which is more useful.



                      This Q&A describes the process:



                      16.04: How do I make cron create cron.log and monitor it in real time?



                      Also in this answer is the instructions to create a wcron command that displays it is near-real-time. Plus, it links to another answer,



                      How to change cron log level?



                      that shows how to change the log level to include more than just the start of jobs - level 15 will show errors and end time, also.







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited Nov 4 '17 at 7:29

























                      answered Oct 22 '17 at 6:40









                      SDsolarSDsolar

                      1,51941538




                      1,51941538























                          2














                          If you have systemd installed on your system, you could display cron job log by using the journalctl command.



                          For example, on my Ubuntu 17.10:



                          journalctl -u cron.service





                          share|improve this answer




























                            2














                            If you have systemd installed on your system, you could display cron job log by using the journalctl command.



                            For example, on my Ubuntu 17.10:



                            journalctl -u cron.service





                            share|improve this answer


























                              2












                              2








                              2







                              If you have systemd installed on your system, you could display cron job log by using the journalctl command.



                              For example, on my Ubuntu 17.10:



                              journalctl -u cron.service





                              share|improve this answer













                              If you have systemd installed on your system, you could display cron job log by using the journalctl command.



                              For example, on my Ubuntu 17.10:



                              journalctl -u cron.service






                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered Dec 28 '18 at 5:27









                              an9weran9wer

                              211




                              211























                                  1














                                  You could redirect the output of cron to a tmp file



                                  Such as:
                                  00 11 07 * * /bin/bash /home/ubuntu/command.sh > /tmp/output 2>&1



                                  Error and normal output, both will be redirected to the same file






                                  share|improve this answer




























                                    1














                                    You could redirect the output of cron to a tmp file



                                    Such as:
                                    00 11 07 * * /bin/bash /home/ubuntu/command.sh > /tmp/output 2>&1



                                    Error and normal output, both will be redirected to the same file






                                    share|improve this answer


























                                      1












                                      1








                                      1







                                      You could redirect the output of cron to a tmp file



                                      Such as:
                                      00 11 07 * * /bin/bash /home/ubuntu/command.sh > /tmp/output 2>&1



                                      Error and normal output, both will be redirected to the same file






                                      share|improve this answer













                                      You could redirect the output of cron to a tmp file



                                      Such as:
                                      00 11 07 * * /bin/bash /home/ubuntu/command.sh > /tmp/output 2>&1



                                      Error and normal output, both will be redirected to the same file







                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered May 7 '18 at 11:27









                                      HimanshuHimanshu

                                      185




                                      185























                                          0














                                          Fedoar 29 and RHEL 7



                                          journalctl -t CROND


                                          From the journalctl manual:



                                             -t, --identifier=SYSLOG_IDENTIFIER|PATTERN
                                          Show messages for the specified syslog identifier SYSLOG_IDENTIFIER, or for any of the messages with a "SYSLOG_IDENTIFIER" matched by PATTERN.

                                          This parameter can be specified multiple times.





                                          share|improve this answer




























                                            0














                                            Fedoar 29 and RHEL 7



                                            journalctl -t CROND


                                            From the journalctl manual:



                                               -t, --identifier=SYSLOG_IDENTIFIER|PATTERN
                                            Show messages for the specified syslog identifier SYSLOG_IDENTIFIER, or for any of the messages with a "SYSLOG_IDENTIFIER" matched by PATTERN.

                                            This parameter can be specified multiple times.





                                            share|improve this answer


























                                              0












                                              0








                                              0







                                              Fedoar 29 and RHEL 7



                                              journalctl -t CROND


                                              From the journalctl manual:



                                                 -t, --identifier=SYSLOG_IDENTIFIER|PATTERN
                                              Show messages for the specified syslog identifier SYSLOG_IDENTIFIER, or for any of the messages with a "SYSLOG_IDENTIFIER" matched by PATTERN.

                                              This parameter can be specified multiple times.





                                              share|improve this answer













                                              Fedoar 29 and RHEL 7



                                              journalctl -t CROND


                                              From the journalctl manual:



                                                 -t, --identifier=SYSLOG_IDENTIFIER|PATTERN
                                              Show messages for the specified syslog identifier SYSLOG_IDENTIFIER, or for any of the messages with a "SYSLOG_IDENTIFIER" matched by PATTERN.

                                              This parameter can be specified multiple times.






                                              share|improve this answer












                                              share|improve this answer



                                              share|improve this answer










                                              answered 6 hours ago









                                              HarlemSquirrelHarlemSquirrel

                                              1,75262536




                                              1,75262536






























                                                  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%2f56683%2fwhere-is-the-cron-crontab-log%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

                                                  GameSpot

                                                  connect to host localhost port 22: Connection refused

                                                  Getting a Wifi WPA2 wifi connection