Update
最近我遇到了 papermill,它用于执行和参数化笔记本。
https://github.com/nteract/papermill https://github.com/nteract/papermill
papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1
这似乎比 nbconvert 更好,因为您可以使用参数。您仍然需要使用调度程序触发此命令。下面是 Ubuntu 上 cron 的示例。
旧答案
nbconvert --execute
可以执行 jupyter 笔记本,将其嵌入到 cronjob 中将执行您想要的操作。
Ubuntu 上的设置示例:
Create 你的脚本.sh包含以下内容:
/opt/anaconda/envs/yourenv/bin/jupyter nbconvert \
--execute \
--to notebook /path/to/yournotebook.ipynb \
--output /path/to/yournotebook-output.ipynb
除了 --to notebook 之外,您还有更多选择。我喜欢这个选项,因为之后您有一个完全可执行的“日志”文件。
我建议使用虚拟环境来运行笔记本,以避免将来的更新弄乱您的脚本。不要忘记将 nbconvert 安装到环境中。
现在创建一个每天运行的 cronjob,例如上午 5:10,输入crontab -e
在您的终端中添加以下行:
10 5 * * * /path/to/yourscript.sh