Motivation

  1. 现有的云笔记应用,搜索功能不好,对Markdown支持不完善
  2. 有些云笔记应用功能全,但是不是轻量级,启动速度和响应速度受影响

实现步骤

  1. 安装Typora,官网下载安装包

  2. 安装中文主题,可自行搜索,如这篇博文里介绍了一些中文主题

  3. 链接Gitee(码云),实现笔记云存储

  4. 编写定时任务脚本,实现自动定时同步,参考这篇博文

    4.1 利用crontab编写定时脚本

    crontab -e

    4.2 定时任务shell命令,每1个小时同步一次,并将日志写入特定文件(这样就免得配置邮箱服务器了)

    0 */1 * * * /home/User/Notes/AutoSync.sh >/home/User/Notes/AutoSync.log 2>&1
    4.3 AutoSync.sh脚本内容如下:

    #!/bin/bash
    echo "上一次同步时间";date;cd /home/User/Notes;git add .;git commit -m "AutoSync";git push origin master
    

优点

  • Typora支持文件内搜索,中英文搜索效果好,可以支持根据关键词搜索笔记,有道云笔记搜索功能很差,码云不支持项目内搜索,github项目内搜索效果不好

  • 利用自动同步命令可以实现私有云笔记

  • 即使不满意Typora搜索效果,也可以使用shell命令对Notes文件夹进行搜索

  • 对于编写Markdown,Typora界面简洁漂亮,易用性高

Crontab Git任务报错“Permission denied (publickey).”

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Crontab环境中执行git命令时,ssh没有找到合适的私钥,最大可能是在生成密钥对时,没有使用默认的名字id_rsa和id_rsa.pub,但是ssh默认只会查找id_rsa、id_dsa、id_ecdsa,加入你的密钥名为Id_rsa_xx

解决方法

  在~/.ssh/config中书写如下配置
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_xx

Crontab不执行或执行报错的其他情况

查看上面的AutoSync.log中的报错信息有针对性解决

参考资料

  1. git配置多个SSH Key

  2. 如何使用特定的SSH Key提交GIT

  3. github本地git push ssh方式免用户名和密码配置相关问题

  4. 解决ubuntu下定时任务不执行问题

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐