Macオープンタイミングタスクcrontab

4053 ワード

1タイミングタスク        
このような場合、定期的にスクリプトファイルを実行する必要がある場合があります.この場合、タイミングタスクを考慮できます.
スケジュールタスクの設定:
linux/macでのタイミング実行は主にcrontabファイルにカスタム計画を追加して実行され、Cron自体はデーモンプロセスであり、バックグラウンドで実行され、プロファイル「crontab」によって時間に応じて指定されたジョブ実行をスケジュールします.mac 2つのタイミングタスクがあります.私が使用しているのは1つ目です.
  • crontabコマンド (linux同様サポート)
  • launchctlタイミングタスク
  • 起動cron
    基本的にすべてのLinuxリリースでは、cronツールがデフォルトでプリインストールされています.cronがプリインストールされていなくても、コマンドを実行して手動でインストールするのは簡単です.
    $ sudo apt-get install cron
    $ service cron start 
    $ service cron status  
    cron start/running, process 1027    
    crontabが起動しているかどうかを確認します
    sudo launchctl list | grep cron
    必要なファイルをチェック
    LaunchAgents  ll/etc/crontab ls:/etc/crontab: No such file or directory  #このファイルがないことを示します.作成ファイルを作成する必要があります.
    sudo touch/etc/crontab   
    crontabコマンドを使用すると、指定したシステムコマンドまたはshell scriptスクリプトを一定の間隔で実行できます.時間間隔の単位は、分、時間、日、月、週以上の任意の組み合わせであってもよい.
    crontabコマンドの後にパラメータを追加できます.
  • -u user:あるユーザを設定するためのcrontabサービス;file:fileはコマンドファイルの名前で、fileをcrontabのタスクリストファイルとしてcrontabにロードすることを示します.コマンドラインにこのファイルが指定されていない場合、crontabコマンドは標準入力(キーボード)に入力されたコマンドを受け入れ、crontabにロードします.
  • -e:ユーザーのcrontabファイルの内容を編集します.ユーザーを指定しない場合は、現在のユーザーのcrontabファイルを編集します.
  • -l:あるユーザのcrontabファイルの内容を表示し、ユーザを指定しない場合、現在のユーザのcrontabファイルの内容を表示する.
  • -r:/var/spool/cronディレクトリからユーザーのcrontabファイルを削除し、ユーザーを指定しない場合は、現在のユーザーのcrontabファイルをデフォルトで削除します.
  • -i:ユーザーのcrontabファイルを削除するときに確認メッセージを表示します.

  • 常用crontabコマンド
    $ crontab –l #           
    $ crontab –l –u username #           
    $ crontab -e  #      
    $ crontab -ri #              
    cron式
    * * * * * command to be executed 
    - - - - - - 
    | | | | | | 
    | | | | | ---        
    | | | | -----     0~7(        0 7  ) 
    | | | -------     1~12 
    | | ---------     1~31 
    | -----------     1~23(0  0 ) 
    -------------     1~59     *   */1   
    
    #==========     ============
    30 21 * * * /usr/local/etc/rc.d/lighttpd restart 
       21:30  apache
    
    45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 
      1、10、22  4:45  apache
    
    10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 
       、   1:10  apache
    
    0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 
      18:00 23:00    30    apache
    
    0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 
         23:00  apache
    
    * */1 * * * /usr/local/etc/rc.d/lighttpd restart 
          apache
    
    * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 
      11    7   ,       apache
    
    0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 
       4         11   apache
    
    0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart 
         4   apache
    
    0 17 * * 1-5 mail -s "hi" [email protected] < /tmp/maildata
           17:00     [email protected]
    crontab-eコマンドを使用すると.編集画面に入り、「  *  *  *  *  *  myCommand#分+時+日+月+曜日+実行するコマンド」.ここで実行しました.
    */1***cd絶対パス/order_promotion_Alarm/&&/usr/local/cellar/go/1.11.5/libexec/bin/go run絶対パス/order_promotion_alarm/sync_alarm.go
    前の文は、プロジェクトのファイルディレクトリの下にカットし、1分おきにsyncを実行することを示しています.Alarm.goというファイル.最初は上のコマンドが実行されなかったので、実行情報を記録したファイルにカットして見て、コマンドcatを実行しました /private/var/mail/ユーザー名、実行情報が表示されます.次のようになります.
    From    @bogon.localdomain  Thu Mar 14 14:20:02 2019
    Return-Path: 
    X-Original-To:    
    Delivered-To:    @bogon.localdomain
    Received: by bogon.localdomain (Postfix, from userid 501)
    	id DE490353130; Thu, 14 Mar 2019 14:20:02 +0800 (CST)
    From:    @bogon.localdomain (Cron Daemon)
    To:    @bogon.localdomain
    Subject: Cron  cd     /order_promotion_alarm/ && /usr/local/Cellar/go/1.11.5/libexec/bin/go run     /order_promotion_alarm/sync_alarm.go
    X-Cron-Env: 
    X-Cron-Env: 
    X-Cron-Env: 
    X-Cron-Env: 
    X-Cron-Env: 
    Message-Id: <[email protected]>
    Date: Thu, 14 Mar 2019 14:20:02 +0800 (CST)
    
    Info 2019-03-14 14:20:02,143 v1(6) stress_testing.go:51。。。。。。  
    参考:
    http://www.page.keyllo.com/linux/2016/12/12/linux-mac-crontab.html
    https://blog.csdn.net/biyongyao/article/details/77791238
    https://talk.ninghao.net/t/mac/5447