WEIGEL FORUM
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login

    CRONTAB Linux

    Linux
    1
    6
    26
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • DerMeldosD
      DerMeldos
      last edited by DerMeldos

      change crontab entrys:

      crontab -e
      

      running as a specific user:

      Only /etc/crontab and the files in /etc/cron.d/ have a username field. In that file you can do this:

      1 1 * * * username /path/to/your/script.sh
      

      From root's crontab sudo crontab -e you can use:

      1 1 * * * su username -c "/path/to/your/script.sh"
      

      Or you can use the user's actual crontab like this:

      sudo crontab -u username -e
      
      1 Reply Last reply Reply Quote 0
      • DerMeldosD
        DerMeldos
        last edited by

        Anther option is to us the @reboot argument to perform an action after the reboot happened and place a sleep interval to make sure everything is really up.

        @reboot sleep 10; sh /usr/local/scripts/pull_script.sh
        
        1 Reply Last reply Reply Quote 0
        • DerMeldosD
          DerMeldos
          last edited by

          3f2ea315-0ef9-4f3e-b14f-82e2024c4bf0-image.png

          DerMeldosD 1 Reply Last reply Reply Quote 0
          • DerMeldosD
            DerMeldos @DerMeldos
            last edited by

            "/etc/crontab" is for systemwide cronjob, where you need to specify a user for the job.
            updates for example can override these.
            It is recommended to use "crontab -e" to edit and create cronjobs. crontab -e will edit the cronjobs of the user who executes this command.
            A User field is no longer required with "crontab -e".

            Examples:
            /etc/crontab:

            # /etc/crontab: system-wide crontab
            # Unlike any other crontab you don't have to run the `crontab'
            # command to install the new version when you edit this file
            # and files in /etc/cron.d. These files also have username fields,
            # that none of the other crontabs do.
            
            SHELL=/bin/sh
            PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
            
            # Example of job definition:
            # .---------------- minute (0 - 59)
            # |  .------------- hour (0 - 23)
            # |  |  .---------- day of month (1 - 31)
            # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
            # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
            # |  |  |  |  |
            # *  *  *  *  * user-name command to be executed
            17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
            25 6    * * *   root    test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.daily; }
            47 6    * * 7   root    test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.weekly; }
            52 6    1 * *   root    test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.monthly; }
            

            crontab -e:

            # Edit this file to introduce tasks to be run by cron.
            # 
            # Each task to run has to be defined through a single line
            # indicating with different fields when the task will be run
            # and what command to run for the task
            # 
            # To define the time you can provide concrete values for
            # minute (m), hour (h), day of month (dom), month (mon),
            # and day of week (dow) or use '*' in these fields (for 'any').
            # 
            # Notice that tasks will be started based on the cron's system
            # daemon's notion of time and timezones.
            # 
            # Output of the crontab jobs (including errors) is sent through
            # email to the user the crontab file belongs to (unless redirected).
            # 
            # For example, you can run a backup of all your user accounts
            # at 5 a.m every week with:
            # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
            # 
            # For more information see the manual pages of crontab(5) and cron(8)
            # 
            # m h  dom mon dow   command
            PATH=/usr/bin:/usr/local/bin
            */5 * * * * /bin/bash /usr/local/bin/scripts/update-route53.sh
            */5 * * * * /bin/bash /usr/local/bin/scripts/update-securitygroups.sh
            
            DerMeldosD 1 Reply Last reply Reply Quote 0
            • DerMeldosD
              DerMeldos @DerMeldos
              last edited by

              Some value modifiers:

              * = match all possible values (i.e., every hour)
              , = match multiple values (i.e., 15,45)
              - = range of values (i.e., 2-4)
              / = specifies steps (i.e., */4)
              
              DerMeldosD 1 Reply Last reply Reply Quote 0
              • DerMeldosD
                DerMeldos @DerMeldos
                last edited by

                d1f6149f-b83c-4346-bf0f-ee9ff21f1c5d-image.png
                *crontab -r removes the crontab

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post
                Powered by NodeBB | Contributors