加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用于解码cron式时序的C/C++ API

发布时间:2020-12-16 09:29:44 所属栏目:百科 来源:网络整理
导读:有没有人知道有助于解码cron风格时序的库,即 30 7 * * 1-5 这是每周一,周二,周三,周四,周五早上7:30. M. 解决方法 对于那些希望实现与@ScaryAardvark相同目标的人 相关性: http://cron.sourcearchive.com/downloads/3.0pl1/cron_3.0pl1.orig.tar.gz 建立:
有没有人知道有助于解码cron风格时序的库,即

30 7 * * 1-5

这是每周一,周二,周三,周四,周五早上7:30.

M.

解决方法

对于那些希望实现与@ScaryAardvark相同目标的人

相关性:

http://cron.sourcearchive.com/downloads/3.0pl1/cron_3.0pl1.orig.tar.gz

建立:

gcc -o main main.c cron-3.0pl1.orig/entry.c cron-3.0pl1.orig/env.c
cron-3.0pl1.orig/misc.c -I cron-3.0pl1.orig

资源:

#include <pwd.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <uuid/uuid.h>

#define MAIN_PROGRAM 1
#include "cron-3.0pl1.orig/cron.h"

void error_handler( char* message )
{
    fprintf( stderr,"Error: %sn",message );
}

void print_entry( const entry* e )
{
    fprintf( stdout,"uid: %in",e->uid );
    fprintf( stdout,"gid: %in",e->gid );
    fprintf( stdout,"command: %sn",e->cmd);
    //etc...
}

int main( int argc,char** argv,char** envp )
{
    const char* filename = "crontab";
    const char* username = "bcrowhurst";

    //Retreive Crontab File
    FILE *file = fopen( filename,"r" );

    if ( file == NULL )
    {
        error_handler( strerror( errno ) );

        return EXIT_FAILURE;
    }

    //Retreive Password Entry
    struct passwd *pw = getpwnam( username );

    if ( pw == NULL )
    {
        error_handler( strerror( errno ) );

        return EXIT_FAILURE;
    }

    //Read Entry
    entry *e = load_entry( file,&error_handler,pw,envp );

    if ( e == NULL )
    {
        error_handler( "No entry found!" );

        return EXIT_FAILURE;
    }

    print_entry( e );

    //Clean-up
    fclose( file );
    free_entry( e );

    return EXIT_SUCCESS;
}

示例Crontab

@yearly /home/bcrowhurst/annual-process

*/10 * * * * /home/bcrowhurst/fschk

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读