在Android设备上部署Crontab定时任务
XKL | HDU自动化健康打卡
目录
在Android设备上运行Linux发行版(Ubuntu),并部署Crontab定时任务(自动化定时健康打卡)
0 前言
本文涉及的健康打卡功能所在的项目地址:Github | XKL
1 Termux的下载及安装
- Github | termux-app
- 前往Termux官方仓库下载其发行版
apk- release页中有多种发行版,请根据处理器架构进行选择。近5年的手机一般选择
arm64-v8a,除非你的手机很老,那么就选择armeabi-v7a。倘若不确定处理器架构,那请上网自行查询你的soc的架构。
- release页中有多种发行版,请根据处理器架构进行选择。近5年的手机一般选择
2 Termux初始化配置
2.1 更改镜像源(如果你的设备使用了翻墙工具或者连接了翻墙的网络,那么可以选择略过此步)
- 终端内执行
termux-change-repo - 选择
Single mirror(或者Main Repository),然后OK - 选择
mirrors.tuna.edu(或者Mirror Tsinghua),然后OK - 终端内执行
apt-get update(Termux最新版在重新选择镜像源后,会自动更新apt) - 终端内执行
apt upgrade -y
3 安装 Python3
- 终端内执行
pkg install python3 - 终端内执行
python --version- 如果输出了
Python3版本信息,那么说明安装成功,请留意输出的Python版本信息(例如,Python-3.10)
- 如果输出了
- 终端内执行
apt install -y clang libxml2 libxslt - 终端内执行
pip install cython wheel - 终端内执行
pip install requests beautifulsoup4 urllib3 js2py pyyaml lxml
4 安装 Ubuntu
- 终端内依次执行
|
|
5 安装 Git
- 终端内执行
apt install -y git
6 克隆XKL仓库到本地
- 终端内执行
cd /home && git clone https://github.com/Albresky/XKL.git - 切换工作目录到XKL/src,终端内执行
cd XKL/src
7 修改 task.sh
- 安装
Vim- 终端内执行
apt install -y vim
- 终端内执行
- 查看
Python安装路径,终端内执行which python,然后复制终端输出的路径 - 查看
当前环境的完整路径,终端内执行pwd,然后复制终端输出的路径 - 修改
task.sh- 终端内执行
vim task.sh,输入i进入编辑模式(编辑模式左下角会显示INSERT) - 将
workdir的值修改为刚才复制的当前环境的完整路径(剪贴板中) - 将
thisPython的值修改为刚才复制的Python安装路径(剪贴板中) - 将
thisPythonPATH的值修改为/data/data/com.termux/files/usr/lib/python3.10 - [注意] 上面路径最后的
python3.10是你安装的python版本号,请根据实际修改 - [注意] 以上三个变量结尾均无
/ - 点击
ESC后,输入:wq,回车
- 终端内执行
- 终端内执行
chmod +x ./task.sh - 根据提示初始化账号信息
8 安装cron
- 终端内执行
apt install cron -y
9 配置定时任务
- 终端内执行
crontab -e - 点击屏幕上的
CTRL后,点击END,以跳到文件末尾 - 输入
i进入编辑模式(编辑模式左下角会显示INSERT) - 输入
20 05 * * * bash /home/XKL/src/task.sh >> /home/XKL/cronLog.txt- [注意]
20 05 * * *的每个位置依次表示分,时,日,月,周。*表示不指定特定时间 - [注意] 这里的
20 05表示UTC-0时区的早上5点20分,东八区需要将本地时间减去8小时。比如20 05 * * *表示,每月每周每日的14:20分(东八区)执行后面的命令(打卡脚本)
- [注意]
- 点击
ESC后,输入:wq,回车 - 终端输入
service cron restart,以重启cron
10 结语
-
在Android上部署Crontab,可以还原Linux系统的原生体验,但对于不熟悉Linux系统的朋友,使用Termux进行伪Linux体验,则有些曲线救国;
-
最佳方案是:寝室有一台搭载Linux系统且长期供电运行的设备(树莓派、笔记本、路由器等); 折中方案是:使用ECS;
-
最麻烦但效果媲美最佳方案的是:使用Android设备。
给作者倒杯卡布奇诺 ~
支付宝
微信