在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设备。
给作者倒杯卡布奇诺 ~

