android系统使用crontab定时任务

news/2024/10/17 18:25:38/
一、先决条件
  • 必须root,root才能在system目录配置文件
  • 安装busybox包,busybox是一个linux命令的工具包
二、激活init.d
  • init.d在linux系统里面是负责管理系统启动以后自动执行的一些脚本的,必须把启动cron服务的脚本写在里面,这样每次系统启动的时候,cron服务才会起来,功能才能使用

  • 版本一:使用apk包安装
    在这里插入图片描述

  • 版本二:执行term-init脚本

mount -o rw,remount /system
adb push ~/Desktop/term-init.sh /mnt/sdcard
adb shell
su
sh /mnt/sdcard/term-init.sh
三、配置系统crontab
  • SP8-CRON文件
sdb push ~/Desktop/SP8-CRON /mnt/sdcard
adb shell
su
cd /mnt/sdcard/SP8-CRON
sh Install.sh
四、检查crontab执行
  • 检查进程
ps -A | grep crond
crontab -l
# 可是每次执行crontab -l,系统都会报一个错误unknown uid 0. 通过id命令检查,uid为0就是root用户,为什么不能执行?
pgrep crond

在这里插入图片描述

  • 如果查询不成功执行脚本
cd /system/etc/init.d/
sh S99CRON-SP8

在这里插入图片描述

  • 查看crontab定时任务文件/system/etc/cron.d/root,从配置文件可以看到每五分钟输出date到/data/cron-sp8.log文件,查看这个文件,检查是否输出,如有输出说明有定时执行
*/5 * * * * date > /data/cron-sp8.log
0 */1 * * * /system/xbin/flush
0 1 * * 1 /system/xbin/sclean

在这里插入图片描述

五、修改定时任务
  • kill掉进程
whyred:/system/etc/init.d # pgrep crond
pgrep crond
14442
whyred:/system/etc/init.d # kill -9 14442
kill -9 14442
  • 修改配置文件,增加每十分钟启动系统闹钟
mount -o rw,remount /system
echo '
*/5 * * * * date > /data/cron-sp8.log
0 */1 * * * /system/xbin/flush
0 1 * * 1 /system/xbin/sclean
*/10 * * * * am start -n com.android.alarmclock/com.android.alarmclock.AlarmClock' > /system/etc/cron.d/root
  • 启动服务
sh /system/etc/init.d/S99CRON-SP8
六、参考
  • Enable Init.d for Any Phones w/o Need of Custom Kernels!!! by Ryuinferno
  • Android系统中利用crond功能的实现手机的定时重启或关机
  • android系统安装init和crontab支持
  • android上 crond!
  • How to use crontab in Android?

http://www.ppmy.cn/news/429090.html

相关文章

Liunx数据备份与定时执行

Liunx数据备份与定时执行 一、编写脚本 1 创建脚本 touch test-bak.sh 2 写入命令 #! /bin/bash #创建一个临时文件夹 mkdir /root/beifen #将需要备份的文件复制到临时文件夹下 cp -r /root/backup /root/beifen #将beifen文件夹打包 tar -zcPvf /root/backup$(date %Y%m…

Linux学习之定时任务调度cron/crontab

概述 crontab为Linux下的计划任务程序,对应的服务为crond。crond是一个守护进程,每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。Linux系统上面原本就有非常多的计划性工作,故而&#xff…

Linux系统管理之定时任务

at定时任务 确定 at 安装 chkconfig --list |grep atd 检查 at 服务是否安装 service atd restart 启动atd服务; 很多服务 例如 httpd ,d是deamon 守护进程的意思,将这个程序当做系统的服务运行在系统的后台; at的访问控制 /et…

CentOS7 定时任务

在计算机的使用过程中,经常会有一些计划中的任务需要在将来的某个时间执行,linux中提供了一些方法来设定定时任务。 1、at 命令at从文件或标准输入中读取命令并在将来的一个时间执行,只执行一次。at的正常执行需要有守护进程atd(关于systemc…

linux定时关闭系统at,『学了就忘』Linux系统管理 — 8.系统定时任务(at命令)

定时任务是在服务器上常用到的一个工作。 在你指定的时间,系统会自动执行你指定的程序(脚本或者命令)。 Linxu系统中的定时任务不难,关键是如何写出正确的脚本。 在Linxu系统中,有三种用于任务调度的工具 at命令调用atd服务 crontab命令调用c…

完美替代Windows任务计划程序 —— 定时执行专家

关于Windows的任务计划程序和Linux的Cron 在执行Windows的某些IT任务时,熟悉IT的人一般都会想到Windows任务计划程序,这个是Windows自带的一款任务计划软件。当我们真正尝试使用它在计划上运行批处理文件等任务时会遇到很多问题和限制,它不仅…

【Linux】【操作】Linux操作集锦系列之一——定时任务

Linux环境经常需要定时做一些任务,如定时关机、定时下tar包、定时发邮件等。 本文将对常用的Linux定时任务操作方式做一整理。 at 一种在特定日期、时间安排一次性任务的 Linux 终端方法(关键词一次),适合那些 724 小时不间断运行…