服务热线
1888888888
作者:文煞发布时间:2024-06-26分类:站长笔记浏览:296
我们最常用的建站都使用apache或者NGINX服务软件,不管你的网站程序是PHP还是asp还是易语言,都很难把计划任务做好,以PHP为例的话,设置定时任务和计划任务都需要开启特殊函数和特殊权限,但是很多时候我们确实需要计划任务怎么办呢?如果你是linux系统,我们就来尝试测试一下!我开发的zblog虚拟主机插件为大家提供免费虚拟主机,每月可以免费续期一次,对于在过期一月以内没有续费的虚拟主机,我们需要进行删除处理,这就需要计划任务来完成了。我们先写好计划任务脚本:index.php。然后让服务器每小时访问一次该脚本,以达到预期效果!
Crontab 是 Linux 系统中用于设置周期性被执行的任务的命令。它的语法结构是:
* * * * * command to be executed
- - - - -
| | | | |
| | | | +--- 星期几 (0 - 7) (周日=0或7)
| | | +------- 月份 (1 - 12)
| | +--------- 日期 (1 - 31)
| +----------- 小时 (0 - 23)
+------------- 分钟 (0 - 59)
crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有
* 取值范围内的所有数字
/ 每过多少个数字
- 从X到Z
,散列数字
以下是给你列举出时间设置方法的crontab示例
1. 每1分钟执行一次 `myCommand`:
* * * * * myCommand
2. 每小时的第3和第15分钟执行 `myCommand`:
3,15 * * * * myCommand
3. 在上午8点到11点的第3和第15分钟执行 `myCommand`:
3,15 8-11 * * * myCommand
4. 每隔两天的上午8点到11点的第3和第15分钟执行 `myCommand`:
3,15 8-11 */2 * * myCommand
5. 每周一上午8点到11点的第3和第15分钟执行 `myCommand`:
3,15 8-11 * * 1 myCommand
6. 每晚的21:30重启 `smb` 服务:
30 21 * * * /etc/init.d/smb restart
7. 每月1、10、22日的4 : 45重启 `smb` 服务:
45 4 1,10,22 * * /etc/init.d/smb restart
8. 每周六、周日的1 : 10重启 `smb` 服务:
10 1 * * 6,0 /etc/init.d/smb restart
9. 每天18 : 00至23 : 00之间每隔30分钟重启 `smb` 服务:
0,30 18-23 * * * /etc/init.d/smb restart
10. 每星期六的晚上11 : 00 pm重启 `smb` 服务:
0 23 * * 6 /etc/init.d/smb restart
11. 每一小时重启 `smb` 服务:
* */1 * * * /etc/init.d/smb restart
12. 晚上11点到早上7点之间,每隔一小时重启 `smb` 服务:
* 23-7/1 * * * /etc/init.d/smb restart
如果你不知crontab有哪些命令,你可以借用--help来查看支持的命令行。如下图:
我们可以输入:crontab -l查看当前用户的计划任务列表,同时也可以验证你新增的计划任务是否设置成功!
我们可以输入:crontab -e进入计划任务模式, 然后按a键进入到编辑模式:
当我们编辑好计划任务后,我们可以按下 ctrl+c 退出编辑模式;最后按下 shift+: 输入 wq 退出crontab。最后用crontab -l看看我们的计划任务是否设置成功!
比如我需要的是让服务器每隔1个小时访问一次index.php这个脚本(该脚本是我希望服务器执行的代码):
该代码的逻辑是:每小时的30分访问一下后面的URL。最后我们验证一下计划任务有没有被正确执行:
这个方法就更简单了,我们不再使用ssh的命令来设置计划任务,而是直接使用ftp工具编辑几乎任务脚本文件。大家应该知道很多ftp工具不仅支持ftp模式也支持SFTP模式,对,我们就是需要使用SFTP的连接模式,下面我以flashfxp为例,来给大家介绍。
第一步:下载安装flashfxp软件。
第二步:打开flashfxp软件,用SFTP模式连接你的服务器,注意这里需要输入的地址是你的服务器IP地址,账号是你的服务器超级管理账号,一般是root,密码也是root的密码。
第三步:找到/var/spool/cron/目录下的root文件,右键进行编辑,计划任务编辑完成以后,保存即可!
至此,计划任务设置完成,这个方法是否更简单呢?对于会使用ftp软件的伙伴来说,简直没有任何技术难度!而且我们需要处理的任务逻辑都交给index.php来完成,服务器只需要起到一个触发作用即可!
分享:
支付宝
微信