简化日常工作系列之一 ---- 自动新建每日记录

人越大越要学会偷懒,日常的工作中总有一些可以被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\r\n"
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\r\n"
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:\n' %filename)
            print("create " + date + " of %s file success!" % filename)

 

posted @ 2016-01-21 15:04  freephp  阅读(1948)  评论(0编辑  收藏  举报