Shell学习–GitHub刷存在

一个小小的脚本,能够自动提交GitHub,将你的帐号的图表刷成绿色的。

只需在GitHub仓库中有这个脚本,就能自动签到(懒人行为: -) :

README.md

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/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

%d 博主赞过: