Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    SARG Schedule Starting Multiple force refreshs at scheduled time

    Scheduled Pinned Locked Moved pfSense Packages
    17 Posts 2 Posters 6.7k Views
    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.
    • B
      bryan.paradis
      last edited by

      Does the /tmp/sarg/ directory exist? What files are in there?

      Can you post contents of sarg.php that is called in your crontab?

      1 Reply Last reply Reply Quote 0
      • B
        bryan.paradis
        last edited by

        @thestealth:

        Sure no problem. Just a note, when I manually do a force refresh everything works just fine.

        How are you forcing manually

        1 Reply Last reply Reply Quote 0
        • T
          thestealth
          last edited by

          @bryan.paradis:

          Does the /tmp/sarg/ directory exist? What files are in there?

          Can you post contents of sarg.php that is called in your crontab?

          There is no /tmp/sarg/

          I do a force refresh by doing Status -> Sarg Reports -> Schedule -> Edit this item -> Click the "Force update now" button.

          Instead of using the built in scheduling tool, could I just create a custom cron job to pass the additional args to Sarg? If so what is the form of the command?

          sarg.php:

          /* $Id$ */
          /* ========================================================================== */
          /*
              sarg.php
              part of pfSense (http://www.pfSense.com)
              Copyright (C) 2012 Marcello Coutinho
          
              All rights reserved.                                                      
          */
          /* ========================================================================== */
          /*
              Redistribution and use in source and binary forms, with or without
              modification, are permitted provided that the following conditions are met:
          
               1\. Redistributions of source code must retain the above copyright notice,
                  this list of conditions and the following disclaimer.
          
               2\. Redistributions in binary form must reproduce the above copyright
                  notice, this list of conditions and the following disclaimer in the
                  documentation and/or other materials provided with the distribution.
          
              THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
              INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
              AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
              AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
              OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
              SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
              INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
              CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
              ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
              POSSIBILITY OF SUCH DAMAGE.
                                                                                        */
          /* ========================================================================== */
          
          require_once("/etc/inc/util.inc");
          require_once("/etc/inc/functions.inc");
          require_once("/etc/inc/pkg-utils.inc");
          require_once("/etc/inc/globals.inc");
          require_once("/usr/local/pkg/sarg.inc");
          
          $uname=posix_uname();
          if ($uname['machine']=='amd64')
                  ini_set('memory_limit', '250M');
          
          if (preg_match ("/(\d+)/",$argv[1],$matches))
          	run_sarg($matches[1]);
          
          ?>
          
          1 Reply Last reply Reply Quote 0
          • B
            bryan.paradis
            last edited by

            Crontab

            
            0	*/1	*	*	*	root	/usr/local/bin/php /usr/local/www/sarg.php 0
            
            

            Cron starts the job

            
            //sarg.php
            if (preg_match ("/(\d+)/",$argv[1],$matches))
                    run_sarg($matches[1]);
            
            

            sarg.php  takes out the "0" and passes it to run_sarg("0")

            
            //sarg.inc
            function run_sarg($id=-1) {
                    global $config, $g,$sarg_proxy;
                    #mount filesystem writeable
                    conf_mount_rw();
                    $cmd =  SARG_DIR . "/bin/sarg";
                    if ($id >= 0 && is_array($config['installedpackages']['sargschedule']['config'])){
                            $args=$config['installedpackages']['sargschedule']['config'][$id]['args'];
                            $action=$config['installedpackages']['sargschedule']['config'][$id]['action'];
                            $gzip=$config['installedpackages']['sargschedule']['config'][$id]['gzip'];
                            $find=$config['installedpackages']['sargschedule']['config'][$id]['find'];
                            $gziplevel=$config['installedpackages']['sargschedule']['config'][$id]['gziplevel'];
                            $daylimit=$config['installedpackages']['sargschedule']['config'][$id]['daylimit'];
                            }
                    else{
                            $args=$_POST['args'];
                            $action=$_POST['action'];
                            $gzip=$_POST['gzip'];
                            $find=$_POST['find'];
                            $gziplevel=$_POST['gziplevel'];
                            $daylimit="";
                            }
            
            

            The  if ($id >= 0 && is_array($config['installedpackages']['sargschedule']['config']) should get triggered as $id should = 0

            Force Update Now

            
            //sarg.inc
            if ($_POST['Submit'] == 'Force update now')
                            run_sarg();
            
            

            Pressing the button launches off sarg but without the php variable being passed to the function

            
            //sarg.inc
            function run_sarg($id=-1) {
                    global $config, $g,$sarg_proxy;
                    #mount filesystem writeable
                    conf_mount_rw();
                    $cmd =  SARG_DIR . "/bin/sarg";
                    if ($id >= 0 && is_array($config['installedpackages']['sargschedule']['config'])){
                            $args=$config['installedpackages']['sargschedule']['config'][$id]['args'];
                            $action=$config['installedpackages']['sargschedule']['config'][$id]['action'];
                            $gzip=$config['installedpackages']['sargschedule']['config'][$id]['gzip'];
                            $find=$config['installedpackages']['sargschedule']['config'][$id]['find'];
                            $gziplevel=$config['installedpackages']['sargschedule']['config'][$id]['gziplevel'];
                            $daylimit=$config['installedpackages']['sargschedule']['config'][$id]['daylimit'];
                            }
                    else{
                            $args=$_POST['args'];
                            $action=$_POST['action'];
                            $gzip=$_POST['gzip'];
                            $find=$_POST['find'];
                            $gziplevel=$_POST['gziplevel'];
                            $daylimit="";
                            }
            
            

            Default value id=-1 is used and the ELSE is triggered and I think the schedule args are taken correctly from the POST variables. I wonder if there is a problem

            Going forward

            1. Could you please copy and paste the installed packages section of your /cf/conf/config.xml ? Like below except yours will have sarg etc

            	 <installedpackages><tab><menu>
            		 <service><package><name>vnstat2</name>
            			<website>http://humdi.net/vnstat/</website>
            
            			<pkginfolink>http://forum.pfsense.org/index.php/topic,14179.0.html</pkginfolink>
            			<category>Network Management</category>
            			<depends_on_package_base_url>http://192.168.55.4/packages/8/All/</depends_on_package_base_url>
            			<depends_on_package>vnstat-1.11.tbz</depends_on_package>
            			<depends_on_package_pbi>vnstat-1.11_1-i386.pbi</depends_on_package_pbi>
            			<build_port_path>/usr/ports/net/vnstat</build_port_path>
            			<version>1.10_2</version>
            			<status>Stable</status>
            			<required_version>2.0</required_version>
            			<maintainer>crazypark2@yahoo.dk</maintainer>
            			<config_file>http://www.pfsense.com/packages/config/vnstat2/vnstat2.xml</config_file>
            			<configurationfile>vnstat2.xml</configurationfile>
            			 <after_install_info></after_install_info></package> 
            
            2\. Please check to make sure you do not having multiple cron processes running
            
            

            ps aux | grep cron

            1 Reply Last reply Reply Quote 0
            • T
              thestealth
              last edited by

              1. Too big to fit here, see link: www.spiralex.net/images/packages.xml

              ps aux | grep cron
              root     241  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
              root     819  0.0  0.2  3348   760  ??  INs  30Nov13   0:06.38 /usr/sbin/cron -s
              root   13181  0.0  0.3  3348  1308  ??  INs  Sat11PM   0:00.48 /usr/sbin/cron -s
              root   16048  0.0  0.3  3348  1308  ??  INs  Sat11PM   0:00.46 /usr/sbin/cron -s
              root   17501  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 240 /var/run/ping_hosts.pid /usr/local/bin/ping_hosts.sh
              root   17640  0.0  0.0  3256   236  ??  I    18Nov13   0:05.04 minicron: helper /usr/local/bin/ping_hosts.sh  (minicron)
              root   17958  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 3600 /var/run/expire_accounts.pid /etc/rc.expireaccounts
              root   18383  0.0  0.0  3256   236  ??  I    18Nov13   0:00.37 minicron: helper /etc/rc.expireaccounts  (minicron)
              root   18565  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 86400 /var/run/update_alias_url_data.pid /etc/rc.update_alias_url_data
              root   18866  0.0  0.0  3256   236  ??  I    18Nov13   0:00.02 minicron: helper /etc/rc.update_alias_url_data  (minicron)
              root   21905  0.0  0.2  3348   760  ??  INs  18Nov13   0:07.80 /usr/sbin/cron -s
              root   28740  0.0  0.2  3348   760  ??  INs   8Dec13   0:05.44 /usr/sbin/cron -s
              root   29429  0.0  0.2  3348   760  ??  INs  11Jan14   0:01.31 /usr/sbin/cron -s
              root   35786  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.01 cron: running job (cron)
              root   36064  0.0  0.3  3348  1304  ??  IN    1Dec13   0:00.00 cron: running job (cron)
              root   37549  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.00 cron: running job (cron)
              root   42116  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.01 cron: running job (cron)
              root   44997  0.0  0.2  3348   760  ??  INs  30Nov13   0:06.40 /usr/sbin/cron -s
              root   54704  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
              root   57223  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
              root   59479  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
              root   61592  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
              root   24039  0.0  0.2  3460  1188   0  S+    6:01PM   0:00.00 grep cron
              
              
              1 Reply Last reply Reply Quote 0
              • B
                bryan.paradis
                last edited by

                @thestealth:

                1. Too big to fit here, see link: www.spiralex.net/images/packages.xml

                Looks fine.

                ps aux | grep cron
                root     241  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                root     819  0.0  0.2  3348   760  ??  INs  30Nov13   0:06.38 /usr/sbin/cron -s
                root   13181  0.0  0.3  3348  1308  ??  INs  Sat11PM   0:00.48 /usr/sbin/cron -s
                root   16048  0.0  0.3  3348  1308  ??  INs  Sat11PM   0:00.46 /usr/sbin/cron -s
                root   17501  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 240 /var/run/ping_hosts.pid /usr/local/bin/ping_hosts.sh
                root   17640  0.0  0.0  3256   236  ??  I    18Nov13   0:05.04 minicron: helper /usr/local/bin/ping_hosts.sh  (minicron)
                root   17958  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 3600 /var/run/expire_accounts.pid /etc/rc.expireaccounts
                root   18383  0.0  0.0  3256   236  ??  I    18Nov13   0:00.37 minicron: helper /etc/rc.expireaccounts  (minicron)
                root   18565  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 86400 /var/run/update_alias_url_data.pid /etc/rc.update_alias_url_data
                root   18866  0.0  0.0  3256   236  ??  I    18Nov13   0:00.02 minicron: helper /etc/rc.update_alias_url_data  (minicron)
                root   21905  0.0  0.2  3348   760  ??  INs  18Nov13   0:07.80 /usr/sbin/cron -s
                root   28740  0.0  0.2  3348   760  ??  INs   8Dec13   0:05.44 /usr/sbin/cron -s
                root   29429  0.0  0.2  3348   760  ??  INs  11Jan14   0:01.31 /usr/sbin/cron -s
                root   35786  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.01 cron: running job (cron)
                root   36064  0.0  0.3  3348  1304  ??  IN    1Dec13   0:00.00 cron: running job (cron)
                root   37549  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.00 cron: running job (cron)
                root   42116  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.01 cron: running job (cron)
                root   44997  0.0  0.2  3348   760  ??  INs  30Nov13   0:06.40 /usr/sbin/cron -s
                root   54704  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                root   57223  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                root   59479  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                root   61592  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                root   24039  0.0  0.2  3460  1188   0  S+    6:01PM   0:00.00 grep cron
                
                

                Wish we had checked for multiple cron processes earlier. Learnt some new things though  ;)

                Your problem is with a cron package from early or before october. Please upgrade your cron package and if you have to stop the cron service or kill them off and start the cron service.

                https://forum.pfsense.org/index.php?topic=67445.0

                1 Reply Last reply Reply Quote 0
                • T
                  thestealth
                  last edited by

                  @bryan.paradis:

                  Wish we had checked for multiple cron processes earlier. Learnt some new things though  ;)

                  Your problem is with a cron package from early or before october. Please upgrade your cron package and if you have to stop the cron service or kill them off and start the cron service.

                  https://forum.pfsense.org/index.php?topic=67445.0

                  This seems to have worked:

                  ps aux | grep cron
                  root     241  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                  root   17501  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 240 /var/run/ping_hosts.pid /usr/local/bin/ping_hosts.sh
                  root   17640  0.0  0.0  3256   236  ??  I    18Nov13   0:05.05 minicron: helper /usr/local/bin/ping_hosts.sh  (minicron)
                  root   17958  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 3600 /var/run/expire_accounts.pid /etc/rc.expireaccounts
                  root   18383  0.0  0.0  3256   236  ??  I    18Nov13   0:00.37 minicron: helper /etc/rc.expireaccounts  (minicron)
                  root   18565  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 86400 /var/run/update_alias_url_data.pid /etc/rc.update_alias_url_data
                  root   18866  0.0  0.0  3256   236  ??  I    18Nov13   0:00.02 minicron: helper /etc/rc.update_alias_url_data  (minicron)
                  root   28032  0.0  0.3  3348  1332  ??  Ss    6:39PM   0:00.01 /usr/sbin/cron -s
                  root   35786  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.01 cron: running job (cron)
                  root   36064  0.0  0.3  3348  1304  ??  IN    1Dec13   0:00.00 cron: running job (cron)
                  root   37549  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.00 cron: running job (cron)
                  root   42116  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.01 cron: running job (cron)
                  root   54704  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                  root   57223  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                  root   59479  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                  root   61592  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                  root   29000  0.0  0.2  3460  1188   0  S+    7:25PM   0:00.00 grep cron
                  
                  

                  What do you think?

                  1 Reply Last reply Reply Quote 0
                  • B
                    bryan.paradis
                    last edited by

                    @thestealth:

                    @bryan.paradis:

                    Wish we had checked for multiple cron processes earlier. Learnt some new things though  ;)

                    Your problem is with a cron package from early or before october. Please upgrade your cron package and if you have to stop the cron service or kill them off and start the cron service.

                    https://forum.pfsense.org/index.php?topic=67445.0

                    This seems to have worked:

                    ps aux | grep cron
                    root     241  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                    root   17501  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 240 /var/run/ping_hosts.pid /usr/local/bin/ping_hosts.sh
                    root   17640  0.0  0.0  3256   236  ??  I    18Nov13   0:05.05 minicron: helper /usr/local/bin/ping_hosts.sh  (minicron)
                    root   17958  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 3600 /var/run/expire_accounts.pid /etc/rc.expireaccounts
                    root   18383  0.0  0.0  3256   236  ??  I    18Nov13   0:00.37 minicron: helper /etc/rc.expireaccounts  (minicron)
                    root   18565  0.0  0.0  3256     0  ??  IWs  -         0:00.00 /usr/local/bin/minicron 86400 /var/run/update_alias_url_data.pid /etc/rc.update_alias_url_data
                    root   18866  0.0  0.0  3256   236  ??  I    18Nov13   0:00.02 minicron: helper /etc/rc.update_alias_url_data  (minicron)
                    root   28032  0.0  0.3  3348  1332  ??  Ss    6:39PM   0:00.01 /usr/sbin/cron -s
                    root   35786  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.01 cron: running job (cron)
                    root   36064  0.0  0.3  3348  1304  ??  IN    1Dec13   0:00.00 cron: running job (cron)
                    root   37549  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.00 cron: running job (cron)
                    root   42116  0.0  0.3  3348  1296  ??  IN    1Dec13   0:00.01 cron: running job (cron)
                    root   54704  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                    root   57223  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                    root   59479  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                    root   61592  0.0  0.3  3348  1308  ??  IN    1Jan14   0:00.00 cron: running job (cron)
                    root   29000  0.0  0.2  3460  1188   0  S+    7:25PM   0:00.00 grep cron
                    
                    

                    What do you think?

                    Only 1 now not 6 :) Looks better!

                    1 Reply Last reply Reply Quote 0
                    • T
                      thestealth
                      last edited by

                      I assume I was looking for this line:

                      root   28032  0.0  0.3  3348  1332  ??  Ss    6:39PM   0:00.01 /usr/sbin/cron -s
                      

                      No more weirdness in my log either.

                      Thank a lot it is much appreciated.

                      1 Reply Last reply Reply Quote 0
                      • B
                        bryan.paradis
                        last edited by

                        @thestealth:

                        I assume I was looking for this line:

                        root   28032  0.0  0.3  3348  1332  ??  Ss    6:39PM   0:00.01 /usr/sbin/cron -s
                        

                        No more weirdness in my log either.

                        Thank a lot it is much appreciated.

                        Yes as you can see their were 6 running before and you are welcome!

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.