【Linux crontab定时任务】自动打开手机上的云音乐APP

简介: 【Linux crontab定时任务】自动打开手机上的云音乐APP

网络异常,图片无法展示
|


1. 前言



上一期的推文 【Windows定时任务】自动打开手机上的云音乐APP 中,我们实现了Windows定时任务,虽然很简单,不过实际工作中,我们可能更多的是用服务器来跑任务。


所以今天我们简单了解下如何使用 crontab在linux服务器上实现定时任务


2. 在服务器上跑通任务



我们首先要做的事情,是在准备好的服务器上,先跑通我们的测试任务。这里有2点需要关注的:


  • 一个是把我们的跑测脚本,上传到服务器的指定目录上;
  • 另一个是部署好跑测的python环境


前2次教程中,我们都是自动获取本地在线设备来进行自动化任务的,但是在服务器上,我们就不能再获取本地设备来进行自动化任务了,因为我们大概率不会直接把设备插在服务器的主机上面使用。


所以这次教程,关于获取设备这部分的脚本,会有所改变。我们本次演示的设备,会直接获取“网易私有云方案”搭建的“机柜集群”上面的设备,小伙伴们可以根据自己公司的设备集群方案,来获取一些设备进行自动化任务。


假设脚本修改好以后,我们上传到了 home/ 目录下,脚本的名称为 auto_start.py


我们也可以简单地通过一些命令,来看下是否上传成功,例如:


网络异常,图片无法展示
|


1)部署python环境


今天我们演示的脚本,只涉及到了airtest语句,所以我们在linux的python环境安装上最新的airtest库即可:


pip3 install airtest
复制代码


如果脚本包含poco语句,还需要安装上pocoui。安装成功后,可以使用 pip3 list 查看:


网络异常,图片无法展示
|


2)运行测试脚本


脚本上传成功,python环境部署好之后,我们就可以在服务器上运行下我们的测试任务了:


python3 home/auto_start.py
复制代码


网络异常,图片无法展示
|


(为了方便同学们观察效果,这里打开了机柜设备的云真机页面


3. 使用crontab创建定时任务



确保可以在服务器上跑通我们的脚本之后,就可以利用crontab服务来创建我们的定时任务,实现无人值守的情况,也可以自己完成这个启动指定应用的小任务。


crontab定时任务的教程,推荐查看这个链接的教程,写的非常详细:linuxtools-rst.readthedocs.io/zh_CN/lates…


1)编辑crontab文件:crontab -e


使用 crontab -e 指令,可以打开crontab文件并对它进行编辑:


网络异常,图片无法展示
|


刚打开文件时,是命令模式,我们需要按下键盘的i键,切换到输入模式,然后再来输入我们的crontab命令。


2)新增crontab条目


使用i键切换到输入模式之后,可以看到底部会提示 --INSERT--,此时我们可以在注释后面新增一个定时任务的条目,比如:


# 每天上午10:30连接机柜设备并自动打开设备上的云音乐APP
30 10 * * * python3 home/auto_start.py
复制代码


编辑好之后,可以按下ESC,退出输入模式,进入命令模式。之后按下 : 键,进入底线命令模式,再输入 wq 回车,即保存文件并退出:


网络异常,图片无法展示
|


PS:这里默认编辑crontab文件时,使用的是 vim编辑器 。


3)查看crontab文件等待被执行


我们可以使用 crontab -l 来查看我们编辑好的crontab文件,然后就可以坐等定时任务被触发了:


网络异常,图片无法展示
|


如果我们发现,手动执行该任务没有问题,但定时任务就是不执行,此时就需要特别关注下环境变量的问题了。


4)关于crontab的文件格式


crontab文件包含6列,每一列都用一个空格分隔:


* * * * * 命令
复制代码


前面5个 * 分别代表:分 时 日 月 星期,按照这个格式,我们可以生产出非常丰富的定时任务:


网络异常,图片无法展示
|


4. 小结



今天的Linux crontab定时任务就分享到这里。对于熟练Linux的同学来说,应该问题不大;新手Linux同学,也可以找一个服务器,按照教程多熟悉一下。

相关文章
|
4月前
|
资源调度 JavaScript Linux
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
|
1月前
|
监控 Unix Linux
|
2月前
|
Linux 开发工具 数据安全/隐私保护
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。
45 2
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
|
2月前
|
Linux
Linux Crontab 查看定时任务启动没
【10月更文挑战第20天】在Linux系统中,crontab用于设置周期性执行的任务。查看当前用户的Crontab任务列表,使用`crontab -l`;查看所有用户任务,使用`sudo crontab -l`或指定用户`sudo crontab -u username -l`。
84 5
|
2月前
|
Ubuntu Linux Android开发
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
本文介绍了如何在Android设备上安装Termux和AnLinux,并通过这些工具运行Ubuntu系统和桌面环境。
161 2
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
|
3月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
4月前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
|
4月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
4月前
|
存储 Linux 网络安全
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
|
4月前
|
JavaScript Linux
【Azure App Service for Linux】NodeJS镜像应用启动失败,遇见 RangeError: Incorrect locale information provided
【Azure App Service for Linux】NodeJS镜像应用启动失败,遇见 RangeError: Incorrect locale information provided