一个小小的脚本,能够自动提交GitHub,将你的帐号的图表刷成绿色的。
只需在GitHub仓库中有这个脚本,就能自动签到(懒人行为: -) :
1 | ## |
README.md
1 | This script has run 1 times. |
Shell学习及踩坑记:
crontab
- 用于设置周期性执行的命令,各用户配置文件均在
/var/spool/cron/crontabs
- 创建及编辑
crontab -e [username]
- 需要添加计划只需在配置文件添加一行,格式如[执行频率 用户 程序],频率如
分 | 小时 | 月中日 | 月份 | 周中日期 | 说明 |
---|---|---|---|---|---|
`0` | `1` | `15` | `1,11` | `*` | 在 1、 和 11 月的 15 日的 1 a.m. 运行命令。也可以把这个时间表写成 ` 0 1 15 jan,nov *`。不要在逗号后面加空格。 |
`0-59/15` | `*` | `*` | `*` | `*` | 这个调度计划每 15 分钟运行命令一次。 |
`30` | `*` | `*` | `*` | `wed,fri` | 这个时间表只在星期三和星期五每小时的 30 分时执行命令一次。(在列表中可以使用日和月份的名称,但是在范围中不可以)。 |
`0,30` | `0-5,17-23` | `*` | `*` | `*` | 在午夜到 5 a.m. 以及 7 p.m. 到 11 p.m. 之间整点时和 30 分时运行命令。 |
`0` | `0` | `1` | `1` | `*` | 在每年 1 月 1 日午夜执行命令一次。 |
`0` | `0` | `*` | `*` | `0` | 在每个星期日午夜运行命令。这相当于每周一次。 |
`30` | `0` | `10,20,30` | `*` | `6` | 因为月中日和周中日受到限制,这个时间表在每星期六和每月的 10、20 和 30 日(二月除外)的 12:30 a.m. 运行命令。 |
小坑:
- crontab 预定义5个环境变量(其中PATH=/usr/bin:/bin SHELL=/bin/sh),故使用crontab执行周期指令时因为PATH 而报错,或程序中的一些指令在sh不支持(如上文中的$RANDOM)。解决方法分别是 1、在脚本前加入
./etc/profile .~/.bash_profile
等并使用绝对路径的;2、在配置文件前添加一行SHELL=/bin/bash
- crontab 默认并没有在日志服务中开启,编辑
/etc/rsyslog.d/20-default.conf
去掉cron前的#号,并重启rsyslog服务即可为cron开启日志服务,目录在/var/log/cron.log
。 - 当写 crontab 时,如果命令中有 % 号的时候,需要使用\转移,否则计划任务会执行失败
参考 IBM 使用cron进行自动维护 https://www.ibm.com/developerworks/cn/education/aix/au-usingcron/