自动发布 Org Mode

使用了 crontab。

1
crontab -e

通过默认编辑器打开一个空白文件,输入:

1
@hourly ~/org/publish.sh >> /home/$USER/cron.log 2>&1

这行文本的作用:

  1. 每个小时(整点,如 1 点,2 点……)会执行后面紧跟着的 shell 脚本,要确保脚本可执行( chmod +x ~/org/publish.sh
  2. 日志输出到 /home/$USER/cron.log

~/org/publish.sh 内容:

1
2
3
4
5
6
#!/bin/bash

# 如果没有下面这一行,就不能通过 publickey push 到远程仓库
export GIT_SSH_COMMAND="ssh -i /home/$USER/.ssh/private_key"
cd ~/repo/blog/
make publish

如上述代码中注释所说,通过 cronie 自动化程序,似乎没办法读取到当前用户的私匙,这可能是为了安全。

我直接添加环境变量的解决办法会不会导致安全问题呢?

致谢:

  1. How to automate Github using Cron?
  2. GIT_SSH_COMMAND - git Documentation

Layout of comment panels