SummaryRefsLogBlameCommitDiffStats
path: root/src/mcron.in
blob: a7707e0563eb422aa14c805fe3a1a2e47d3658dc (plain) (tree)
1
2
3
4
5
6



                           
                                         
                                                                            

















                                                                        



                                                                        
































                                                                              
#!%GUILE% --no-auto-compile
-*- scheme -*-
!#

;;;; mcron -- run jobs at scheduled times
;;; Copyright © 2003, 2012, 2020, 2022  Dale Mellor <mcron-lsfnyl@rdmp.org>
;;; Copyright © 2015, 2016, 2018  Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Mcron.
;;;
;;; GNU Mcron is free software: you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation, either version 3 of the License, or
;;; (at your option) any later version.
;;;
;;; GNU Mcron is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Mcron.  If not, see <http://www.gnu.org/licenses/>.


(unless (getenv "MCRON_UNINSTALLED")
  (set! %load-path (cons "%modsrcdir%" %load-path))
  (set! %load-compiled-path (cons "%modbuilddir%" %load-compiled-path)))

(use-modules  (mcron scripts mcron)
              (mcron utils)
              (ice-9 command-line-processor))

(process-command-line  (command-line)
       application   "mcron"
       version       "%VERSION%"
       usage         "[OPTIONS ...] [FILES ...]"
       help-preamble
  "Run unattended jobs according to instructions in the FILES... "
  "(`-' for standard input), or use all the files in ~/.config/cron "
  "(or the deprecated ~/.cron) with .guile or .vixie extensions.\n"
  "Note that --daemon and --schedule are mutually exclusive."
       option  (--daemon  -d  "run as a daemon process")
       option  (--schedule=8  -s  string->number
                      "display the next N (or 8) jobs that will be run,"
                      "and then exit")
       option  (--stdin=guile  short-i  (λ (in) (or (string=? in "guile")
                                                    (string=? in "vixie")))
                      "format of data passed as standard input or file "
                      "arguments, 'guile' or 'vixie' (default guile)")
       option  (--log  -l  "write log messages to standard output")
       option  (--log-format  "(ice-9 format) format string for log messages")
       option  (--date-format "(srfi srfi-19) date format for log messages")
       help-postamble
  "Mandatory or optional arguments to long options are also mandatory or "
  "optional for any corresponding short options."
       bug-address "%PACKAGE_BUGREPORT%"
       copyright   "2003 - 2022  Free Software Foundation, Inc."
       license     GPLv3)

(catch-mcron-error (main --daemon --schedule --stdin --log --log-format
                         --date-format  --!))