arm移植cron(定期执行任务)

本文基于这篇教程,但是中途遇到了几个问题,所以主要是为了附上自己的解决办法,以备后用。

我的平台:ARM9
我使用的cron源码来自:github

教程中没讲到的东西:
1.从github源码主页上可以看到说明:没有configure脚本,所以我直接修改了Makefile文件。
Makefile中修改的地方
第一个红框中的内容其实对于我来说不用修改,因为编译完成后就直接拿到开发板上运行了;第二个红框中把CC改成你的(交叉)编译器;
然后执行make,应该没问题,很顺利,传到开发板上根据教程准备进行测试。

首先,复制cron和crontab到/usr/bin目录下,
然后执行cron,会提示:
执行cron缺少run文件夹提示
手动在/var目录下创建run文件夹,再次运行cron命令,提示:
执行cron缺少data文件夹提示
手动在根目录下创建data文件夹,提示:
提示2
缺少的文件/文件夹自动创建成功即可,通过crontab -l 命令查看是否添加成功。

注:后面要把cron做到rootfs中,否则每次上电后要在用户启动脚本中创建上述几个需要的文件夹,再拷贝cron和crontab文件到PATH路径所包含的某个路径下,最后再手动运行cron命令!(写成一个初始化脚本!!!)

执行crontab test.crontab命令,如果你在没有先运行cron并解决运行cron遇到的问题,则会提示:
执行crontab缺少data文件夹提示
只要手动创建/data文件夹即可。

遇到的问题:
1.因为cron没有做到根文件系统中,所以我准备在用户文件系统的某个开机运行脚本里启动cron(待试)

2.在测试时,难免会重复执行cron命令,于是会遇到下面这个提示:
重复执行cron后的错误提示
这说明cron已经在运行了,如果需要重新运行的话,用ps aux查看cron的pid后kill掉就好了。

补充:
1.执行crontab -e命令时,提示找不到/usr/bin/vi;
将/bin/vi复制到/usr/bin/下即可(可加入脚本中)。

猜你喜欢

转载自blog.csdn.net/yanlutian/article/details/82704944