安卓利用crontab执行定时任务(shell/python)

由于本人经常忘了钉钉签到,再加上一些其他的事情需要定时去做 所以有了以下内容

感觉过程比较繁琐哈,中间也踩了一些坑,如果大佬们有更方便的方式请告诉我下,笔芯

 需要条件:

  • root(不root也可以 那就需要有个软件一直后台运行了,而且只能做有限操作,那用cron也没有什么意义了吧)
  • magisk (主要作用是用来开机自启crond的 如果有其他更方便的也可以不用)
  • 安装busybox或者mt管理器(如果平时不使用mt可以提取文件后 将其卸载)
  • 安装termux(如果不执行python脚本 可以不用)

先来看下效果

第一行是用来测试的,第二行是用am命令每天8点50和下午5点50启动钉钉 加上急速打卡再也不用担心我的出勤了  第三个是定时执行一个py脚本

开始

首先安装好需要的环境,之后打开mt     右上角菜单-打开终端

之后他会自动安装下载配置好环境,su一下 授予它root权限

之后输入crontab -e编辑任务 正常可能会报错

不慌 按照报错提示新建一个文件夹就好了

mkdir -p '/data/data/bin.mt.plus/files/term/usr/var/spool/cron/crontabs'

之后crontab -e  会给当前用户(root)创建计划任务并保存好

具体的语法就不赘述了 百度一下很详细

之后就是启动crond服务了 

crond

没有任何回显 可以ps -elf查看一下状态 

定时执行python脚本

安装好termux并安装py

pkg install python

网上也有教程 如果很慢 考虑换源

之后找到termux的python的路径就可以用它了,我的是

加入到crontab里边就行了 /data/local/tmp/giao.py是我的文件路径 可以自定义 /sdcard应该也可以

50 19 * * * /data/data/com.termux/files/usr/bin/python3 /data/local/tmp/giao.py

这样就可以每天7点50执行py脚本了 (忽略python 和python3 因为这是2个手机)

安卓的定时任务就完成了,可以测试下完全没有问题

但是每次关机或者重启都需要来mt执行下crond 感觉很麻烦有没有 万一哪天手机重启忘了执行 岂不是要耽误事 

我们需要让crond开机自启动

百度说直接将脚本放到magisk的post-fs-data.d文件夹就可以自启了,但是我试了好像是没用,如果你们可以用的话        我后来试了 可以自启,可以按照下面步骤做一个参考

这里借助了下magisk的太极模块 ,因为本人一直在使用太极 所以感觉借助它自启动也是个不错的选择

因为看magisk的日志,能看到太极开机后执行了service.sh 所以我这里将代码粘贴到它的末端

路径/data/adb/modules/taichi/service.sh


echo `whoami``date`>/data/local/tmp/taichiService.txt                                #测试自启动有没有生效
cd /data/user/0/bin.mt.plus/files/term/usr/bin/                                        #进入到mt的bin路径
export LD_LIBRARY_PATH=/data/data/bin.mt.plus/files/term/usr/lib/:$LD_LIBRARY_PATH  #加载so
./busybox crond -L /data/local/tmp/cron.log &                                        #执行crond并记录日志

其中第一行可以删掉 最后一行 -L /data/local/tmp/cron.log 部分也可以删掉 是开启日志记录的,要不留着也占地方

一开始crond可以自启,但是就是执行不了任务
后来我加上日志才看见报错,原因是找不到动态链接库...加上第三行解决了

将这几行代码做成一个单独的文件放到post-fs-data.d也是可以的

我改完的截图

因为magisk termux mt我有时候也会时候,所以这种方式自己感觉还不错 没有往系统里加很多的东西
如果有更好的方式 还希望大佬指教

原来打算发到mt论坛 太闹挺了 图也传不了

 

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值