zoukankan      html  css  js  c++  java
  • 简化日常工作系列之一 ---- 自动新建每日记录

    人越大越要学会偷懒,日常的工作中总有一些可以被shell或者程序代替的。让我们从一些机械,常规的工作里解脱出双手,快乐的玩耍。我的思路是:

    使用bash或python实现自动化,能用bash的,不用python。(公司或个人机子未必有python)

    假设使用bash.

    我能做的简化日常工作的例子。
    1.每日新建任务 和 总结昨日工作学习情况的记录文件。
    2.去跑一遍采集小说的脚本任务
    3.封装git操作,比如提交推远程等。
    4.解析文本变为某种特定类型的文本,方便开发(api)
    用python或其他命令。
    5.自动生成特定模板文件(php,ruby,python...等文件)
    6.常规工具,比如格式化时间,ip查询等。
    7.过滤某文件中内容,然后定时发送邮件。
    8.一些数据分析的程序,每天某时间段执行获取分析结果。(比如股票,博客访问或其他数据)


    我先做第一个:每日新建任务 和 总结昨日工作学习情况的记录文件。

    由于我本机是windows(公司的),我bash和python都写一下。

    bash的实现:

    function createDailyFolder() {
    path=/data/dailyFiles
    date=$(date "+%Y-%m-%d")
    if ! [ -d "${path}/${date}" ]
    then 
        mkdir -p $path/$date
    fi
    }
    
    function createDailyFiles() {
    path=/data/dailyFiles
    date=$(date "+%Y-%m-%d")
    if ! [ -f "${path}/${date}/${date}-work.txt" ]
    then
        cd $path/$date
        echo "today task is:" >> $date-work.txt
        echo "create $date of work file
    "
    fi    
    if ! [ -f "${path}/${date}/${date}-reading.txt" ] 
    then
        cd $path/$date
        echo "today reading is:" >> $date-reading.txt
        echo "create $date reading file"
    fi
    }
    
    pathname=/data/dailyFiles;
    rm -rf $pathname
    if ! [ -d "$pathname" ] 
    then
        mkdir -p $pathname
        echo "create path :$pathname
    "
    fi
    createDailyFolder    
    createDailyFiles


    在写定时任务时候,注意如果是在docker中,需要将/etc/pam.d/crond里面所有的required改为sufficient

    同时要注意如果没生效,而手动执行生效,要考虑代码和脚本shell中或定时任务里面是不是写的路径和执行命令不是绝对路径,比如python2.7 xx.py命令,
    要写成 /usr/local/bin/python2.7 /data/shells/creates.py.

    升级 python 的shell:

    yum -y update
    yum groupinstall -y 'development tools'
    yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget
    wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
    tar xf Python-2.7.10.tgz
    cd Python-2.7.10
    ./configure --prefix=/usr/local
    make && make install
    ln -s /usr/local/bin/python2.7 /usr/bin/python


    关于python的实现
    # 检验给出的路径是否是一个文件:os.path.isfile()
    # 检验给出的路径是否是一个目录:os.path.isdir()

    import os
    import datetime
    date = datetime.datetime.now().strftime("%Y-%m-%d")
    path = '/data/dailyFiles'
    dailyPath = path + '/' + date
    if os.path.isdir(path) == False:
        os.mkdir(path)
        print("create dailyFiles folder success!")
    if os.path.isdir(dailyPath) == False:
        os.mkdir(dailyPath)
        print("create %s folder success!" %date)
    
    for filename in ['work', 'reading', 'novel', 'tech_arti']:
        if os.path.isfile( dailyPath + '/' + filename + '.txt') == False:
            with open(dailyPath + '/' + filename + '.txt','w') as f:
                f.write('today %s is:
    ' %filename)
                print("create " + date + " of %s file success!" % filename)
  • 相关阅读:
    取石子(五)(FIB博弈)
    NYOJ-161-取石子 (四)(Wythoff 博弈)
    memcached简介
    RSA---应用最广泛的非对称加密算法
    分区
    按子组收集数据
    多级分组
    归约和汇总
    收集器Collectors
    由函数生成流---创建无限流:Stream.iterate和Stream.generate
  • 原文地址:https://www.cnblogs.com/freephp/p/5148320.html
Copyright © 2011-2022 走看看