当前位置:首页 » 编程语言 » php任务系统

php任务系统

发布时间: 2022-08-09 17:34:25

php如何每天定时执行

php做不到每天定时执行,只有java或者c可以,因为php是不访问页面就不会动得代码,但是有一个方法可以曲线救国

你写一个页面是你要每天定时执行的页面,然后视你的操作系统而言,做定时任务,定时去访问这个页面

  1. 如果是windows请使用任务计划功能

  2. 如果是linux请使用定时任务Cron,在定时的时候使用curl来访问你那个页面。以下我只贴出linux的解决方案,因为一般服务器都是linux的,windows的大家都会


=========================linux cron 入门 ============================


Linux操作系统定时任务系统 Cron 入门
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
你也可以将这个服务在系统启动的时候自动启动:
在/etc/rc.d/rc.local这个脚本的末尾加上:
/sbin/service crond start
现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:
1.直接用crontab命令编辑
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
任务调度的crond常驻命令
crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
1、linux任务调度的工作主要分为以下两类:
*系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
*个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。
2.crontab命令选项:
-u指定一个用户,
-l列出某个用户的任务计划,
-r删除某个用户的任务,
-e编辑某个用户的任务
3.cron文件语法:
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)
4.记住几个特殊符号的含义:
"*"代表取值范围内的数字,
"/"代表"每",
"-"代表从某个数字到某个数字,
","分开几个离散的数字
一、任务调度设置文件的写法
可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件
具体格式如下:
Minute Hour Day Month Dayofweek command
分钟 小时 天 月 天每星期 命令
每个字段代表的含义如下:
Minute 每个小时的第几分钟执行该任务
Hour 每天的第几个小时执行该任务
Day 每月的第几天执行该任务
Month 每年的第几个月执行该任务
DayOfWeek 每周的第几天执行该任务
Command 指定要执行的程序
在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
举例如下:
5 * * * * ls 指定每小时的第5分钟执行一次ls命令
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ]
每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ]
二、新增调度任务
新增调度任务可用两种方法:
1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
三、查看调度任务
crontab -l //列出当前的所有调度任务
crontab -l -u jp //列出用户jp的所有调度任务
四、删除任务调度工作
crontab -r //删除所有任务调度工作
五、任务调度执行结果的转向
例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中
30 5 * * * ls >/jp/test 2>&1
注:2>&1 表示执行结果及错误信息。
编辑/etc/crontab 文件配置cron
cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
HOME=/ //使用者运行的路径,这里是根目录
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本
大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了
例如: 1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务
11 2 21 10 * rm -rf /mnt/fb

❷ php怎么调用celery任务

任务队列是一个将工作分布到多线程或多台机器上的机制。
一个任务队列的输入是一个工作单元也被称为任务。专用的工作者进程将会持续监控任务队列并执行它们。
Celery通过消息进行通信,通常通过一个中间人在客户端和工作者之间协调。客户端初始化一个任务并将它加到任务队列,中间人将其发送到工作者。
一个Celery系统可以由多个工作者和中间人构成,这为高可用性和横向扩展提供了便利。
Celery是用python语言实现的,但是可以使用任何语言实现其协议。除了python以外,还有node.js实现的node-celery和一个php实现的客户端。
node-celery for Node.js, and a PHP client.

不同语言之间可以相互操作,通过使用webhooks.using webhooks.

❸ 如何制作帝国加入php计划任务,自动备份当前用户数据库如ABC

linux系统自带crontab计划任务,可以满足你的需求。
编辑crontab配置文件的方法是:
crontab -e
编辑完成后,用:x组合键关闭并保存。不需要重启操作,时间到了以后,系统会自动调用定时任务。
示例,在凌晨4点重启lighthttpd:
0 4 * * * /usr/local/etc/rc.d/lighttpd restart
将命令的路径改为你写的备份脚本。
望采纳!

❹ 一个 PHP 定时执行任务的问题!

1.在源码后面加上运行之后更改此文件的访问权限,禁止访问
2.或者设一个$_session['is_open'],检测有没有被赋值,没被赋值就继续运行,赋值了就exit
3.运行程序了之后,让他生成一个文件,is_open.txt,如果该文件存在,则运行过了,exit,否则,继续运行下面的代码,用个if就ok了

❺ 请问如何用PHP语言让系统定时执行一个任务

如果能使用主机上的计划任务就更好。
如果不能,就通过写一个全局计时器,通过用户访问PHP页面来触发。
这是根据B/S软件模型来决定的,PHP代码一般不会主动执行,只会被动地等待用户访问后执行,所以你可以每次被访问时检查是否到达设定的时间点,如果到了就执行保存事件一次,并把全局的另外一个条件(如将结果保存在磁盘上,下次检查是否有这个文件)设为真,下次就不会再执行。
纯手打,仅提供一个思路~

❻ PHP实现定时任务的几种方式

一. 简单
<?php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
ini_set('memory_limit','512M'); // 设置内存限制
$interval=60*30;// 每隔半小时运行
do{
//ToDo
sleep($interval);// 等待5分钟
}
while(true);

二. 简单 可控型

config.php

<?php
return 1;
?>

cron.php

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
$run = include 'config.php';
if(!$run) die('process abort');

//ToDo
sleep($interval);// 等待5分钟
}
while(true);

三. 简单 改进型

<?php
$time=15;
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
/*
function
*/
sleep($time);
file_get_contents($url);
?>

❼ 关于php自动任务。写了一个账户管理系统,能够让账户余额每天增加固定值。如何解决

看你的服务器 如果服务器是linux 做个shell脚本 如果是windows的系统 做个计划任务.或者用mysql的event_scheler来实现定时任务 .php的定时任务很难实现.

❽ 如何配置php服务器

1. 安装IIS
IIS是windows平台下比较成熟的web服务,安装方法也非常简单。
打开“开始”菜单,点击“管理您的服务器”,点击“添加或删除角色”(如图所示)。

2
进入预备步骤后直接点下一步。到达了选择角色的地方,选择“应用程序服务(IIS,ASP.net)”

3
之后点击下一步,出现附加组件的选择,一个是FrontPage Server Extentions,另外一个是ASP.net,这两项我们的环境中都不需要,不必选择,如果有需要,可以选择性安装。进入下一步,是选项总结,再下一步,进入安装过程,此时提示需要插入windows 2003(R2)的安装光盘,插入光盘后,选择光驱所在驱动器下的I386,点击确定,安装过程将会继续一直到结束,并且出现成功提示
4
完成后对IIS进行测试,打开“开始”菜单,点击“所有程序”,进入“管理工具”,点击“internet信息服务(IIS)管理器”
展开“网站”树型节点,删除默认网站,然后新建一个网站

5
进入向导后,进入下一步,为网站添加描述,也就是IIS中显示的网站标示,可以随便填写,再进入下一步,为网站配置主机头,我们是用来配置本地测试环境,所以把主机头配置为127.0.0.1
6
进入下一步,选择目录,目录需要提前建立好,然后选择即可。继续下一步,需要选择网站权限,这里只选择读取即可。之后便可完成网站新建向导了。
需要正常的浏览网站,还需要给网站的根目录文件夹指定相应的权限,首先在网站属性中查看网站的匿名访问账户是什么,然后将这个账户设置到网站的根目录文件夹,并设置相应的访问权限

7
网站的匿名访问账户是:IUSR_CBLH-DDEF00B671,为文件夹设置用户访问权限
8
权限配置好后,在目录中新建一个index.html文件,随意输入一些文字或者html代码即可。
在网站名称上右键,点击属性,进入“属性”后点击“文档”选项卡,在此添加一个index.html和index.php(index.php添加好是为了待会不必再做配置),然后点击“确定”或者“应用”保存配置。
然后在浏览器中的地址栏中输入“http://localhost/”或者“http://127.0.0.1/”,即可看到刚才我们建立的index.html中的内容。
9
安装fastcgi
IIS调试好后,就可以安装fastcgi了,首先需要下载IISfastcgi,下载地址是(http://www.iis.net/download/FastCGI),安装fastcgi非常简单,只需要同意协议后连续点击下一步即可,没有任何选项。

10
安装php
首先下载php在windows的安装包,下载地址http://windows.php.net/downloads/releases/archives/,这里选用php-5.3.4-nts-Win32-VC9-x86.msi做例子。下载好php-5.3.4-nts-Win32-VC9-x86.msi后,双击文件安装,接受使用协议后,为php填写安装目录,这个目录是可以更换的,指向需要放置它的位置即可。之后需要选择web服务器的安装,这里选择我们先前安装的IIS fastcgi

11
下一步需要配置安装选项,这里我们除了默认的选项之外增加了pear install(如图所示)

12
再进入下一步,就可以确认安装了。
完成安装后,还需要测试一下php是否可用。
首先打开IIS管理器,然后在先前测试IIS的网站上右键,进入“属性”,点击主目录选项卡,然后将“执行权限”配置为“纯脚本”
13
然后点击旁边的“配置”,查看是否有.php扩展名,如果没有的话,需要添加一个新项,将可执行文件指向“C:WINDOWSsystem32inetsrvfcgiext.dll”,扩展名为“.php”(注意有个点),动作限制为“GET,HEAD,POST,TRACE”,点击确定即可
步骤阅读
14
做好了这些,就可以写个小脚本来测试了,在网站的目录中新建一个test.php文件,打开后输入,保存后退出。在浏览器地址栏中输入http://localhost/test.php,即可看到php信息了。
4. 安装isapi_urlwriter ISAPI扩展组件
isapi_urlwriter ISAPI扩展组件主要用来做地址重写,重写后的虚拟静态地址对搜索引擎更友好。先将ISAPI_Rewrite3安装包解压到指定的文件目录中,然后进入网站属性窗口,选择窗口中的ISAPI筛选器选项卡,点击添加按钮,在弹出的窗口中选择ISAPI_Rewrite3解压目录中的ISAPI_Rewrite.dll文件为可执行文件并确定。

END
iis7.5 PHP环境配置
1
windows server 2008是基于NT6 平台的新型操作系统,其对硬件性能的发挥比起其它NT平台来说有了质的飞跃,已经开始普及到了广大用户中,而且操作较2003来说更为直观和简单,受到越来越多的好评。在这里我们要介绍windows server 2008中的php环境搭建。
安装IIS
windows server 2008的IIS版本为7.0,包括fastcgi,安装十分方便。
打开“开始”菜单→“服务器管理”,出现服务器管理界面

2
在图中黄色框中填入服务器ip,点击打开,之后提示输入用户名和密码,验证成功后完成登录服务器。
3
点击“下一步”之后,需要选择功能,这里需要比默认选项多增加一个“cgi”

4
点击“下一步”,将会需要确认一下安装的内容,此时点击安装,即可将IIS安装在操作系统中。
安装好IIS之后,需要进行一个测试,在浏览器地址栏中输入“http://localhost/”,如果出现IIS7的欢迎页则说明正常。接下来需要配置一个新网站,首先打开IIS管理器(“开始”→“所有程序”→“管理工具”→“internet 信息服务(IIS)管理器”)。
然后删除默认网站,在主菜单中,展开网站菜单,然后再网站名称上右键,点击删除即可
5
再新建一个网站,在“网站”上右击,点击添加网站,会出现信息网站添加的表单,首先输入网站名称,例如“stourwebcms”,路径选择为网站存放的路径,单IP的服务器可以不必选择IP,主机头填写为localhost,然后点击确定。
6
添加好网站后,需要为网站设置用户访问权限。在iis管理器左边的网站列表中选中网站,在右边的操作列表中点击“基本设置”,在弹出窗口中点击“连接为”,弹出的窗口中会出现网站的默认用户账户,也可以更改为其它的用户。确定网站的用户账户后,将此账户的访问权限设置到网站的根目录文件夹上

打开网站目录,新建一个index.html,然后用记事本打开,输入“hello stourweb”后保存,并访问本地地址“http://127.0.0.1”进行测试,网页上显示出了“hello stourweb”,说明配置成功。

7
安装php
在前面已经提过,IIS7中不必单独安装fastcgi,所以,我们只需要下载php安装包进行安装即可,下载地址:http://windows.php.net/downloads/releases/archives/ 下载好后,打开安装程序,经过引导,配置好路径,来到选择“web server setup”的地方,在这里我们选择“IIS fastcgi”
8
然后点击“next”按钮,到了选择安装选项的步骤,一般安装默认的就可以了,如果要添加的话需要点击一下前面的磁盘小图标,然后选择安装,第一项是只安装选中的项目,第二项是安装所有该项目的子项目。配置好后进入下一步

9
配置好后,点击“next”然后点击“install”即可安装php。
当php安装完成后会自动在iis的处理程序映射中增加一条fastcgi到php的映射关系

安装完成后,我们还是需要测试一下,打开刚才新建的网站目录,新建一个test.php文件,用记事本打开,输入
<?php
echo phpinfo();
?>
保存退出,再从浏览器中访问http://127.0.0.1/test.php
显示出php信息,说明php环境安装成功。
10
安装isapi_urlwriter ISAPI扩展组件
isapi_urlwriter ISAPI扩展组件主要用来做地址重写,重写后的虚拟静态地址对搜索引擎更友好。先将ISAPI_Rewrite3安装包解压到指定的文件目录中,然后双击iis的ISAPI筛选器配置项,进入网站ISAPI组件配置窗口,点击添加按钮,在弹出的窗口中选择ISAPI_Rewrite3解压目录中的ISAPI_Rewrite.dll文件为可执行文件并确定。

11
ISAPI_Rewrite3组件是一个32位的程序,因此在64位操作系统应用池进程下默认不工作,因此需要在网站所属应用进程池的高级设置中将进程池设置为32位兼容

END
Mysql数据库安装
1
下载mysql(http://www.mysql.com),安装过程比较简单,首先配置路径,然后选择安装选项,一般采用默认安装的方式,之后会进入一个配置向导界面
步骤阅读
2
连续下一步,需要选择配置方式,这里选择配置方式,我们需要手动配置,所以选择detailed configuration,然后点击“下一步”

3
这里需要选择服务器类型,如果是开发用的测试环境,选择developer Machine ,如果是服务器用,则选择Server Machine,当然单一用途的服务器还可以选择dedicated mysql server machine。选择好后进入下一步

4
接下来是选择服务器使用,第一个是多功能数据库,可以使用 InnoDB engine和MyISAM engine。第二个选项,它的性能偏向于InnoDB,但是同时支持MyISAM engine。第三个选项是偏向于分析功能的MyISAM。至于这三个选项有什么区别,其实只要知道,MyISAM类型的数据库引擎可以为php提供强大的检索和分析功能。InnoDB的性能则偏重于存储
所以如果只做web服务器的话选择第三项即可,如果是有其它用途,建议选择第一项。
5
下一步需要选择服务器上的连接数量,这里如果是测试用的小服务器可以选择最少的第一项,如果是流量巨大的网站,需要选择第二项,或者第三项自行填写。

之后是网络连接的选项,“enable TCP/IP Networking”可以按照需求来选择,如果不做集群的话可以把勾去掉,如果是在内网环境,不为mysql做路由规则是完全可以打开此项的。可以直接添加一个防火墙例外给3306端口。端口号可以选择,但是推荐默认的3306。还有一项是是否开启严谨模式,此项推荐勾选

6
点击下一步,选择默认字符集,这里选择自定义的utf8字符集

7
进入下一步,需要设定windows选项,这里推荐安装windows服务,并且自动启动。第二个选项,如果有必要,可以选择添加一个环境变量,可以方便命令行指向。

配置好后,进入下一步,需要为root用户设定密码,请设置一个比较复杂的密码以增加安全性,另外请牢记自己设置的密码,否则遗忘了后需要重置密码十分麻烦。还有一个是否允许root用户从远程登录的选项,此处最好不勾选,否则安全性将会降低。
到此配置就全部结束了,点击下一步,会出现安装总结,点击“execute”执行安装即可。
安装成功后,我们依然需要对此进行测试。
在网站中新建一个测试php文件test.php,我们使用pdo链接mysql作为测试。
输入
<?php
$db=new PDO("mysql:host=localhost;dbname=test","root","刚才设置的密码");
if ($db)
{
echo "ok";
}
?>
访问http://localhost/test.php,如果屏幕上打印出了ok,表示mysql安装成功。
END
安全配置建议
1
安全软件
一款好的安全软件能有效防御来自计算机病毒、恶意软件和木马的威胁,但能用于服务器的安全软件并不多,其中大部分都是收费的,平常个人所用的金山毒霸和360等不能安装到windows server系列的服务器操作系统上,但他们都有相应的服务器版本并且提供免费升级,在他们的官网上面都能够找到。
2
防火墙
合理的配置好防火墙能有效的阻止各种恶意入侵,因为各种网络入侵都是通过相应的网络端口完成的。网络端口是服务器上的各种网络服务开启的,他们对外提供各种网络服务,如http、ftp、smtp等。自己的服务器上需要提供哪些网络服务就只开启这些服务的相应端口,如服务器上提供网站服务,就需要开启http的80端口,如需要提供ftp服务就要开启21端口;有些网络服务不需要对外提供服务就不应该开启,如sql server数据库不需要对外提供服务,就应该在防火墙中关闭掉1433端口。
Windows sever 2003和2008都自带防火墙,其实能简单有效的利用这些自带的防火墙就能有效的完成端口的开闭管理。
l Windows server 2003服务器防火墙配置
1) 鼠标右键单击“网上邻居”,选择“属性”。
2) 然后鼠标右键单击“本地连接”,选择“属性”。如图选择“高级”选项,选中“Internet连接防火墙”,确定后防火墙即起了作用。
点击“设置(G)...”按钮可进行高级设置。其中列出了可用的网络服务,选中后允许其打开网络端口并通信,反之则关闭其网络通信;单击“添加”则可以增加网络服务或打开指定的网络端口

3
Windows server 2008服务器防火墙配置
1) 在控制面板中打开网络和共享中心
2) 点击“windows防火墙”弹出防火墙配置窗口,在此窗口中要确认防火墙服务已经开启
3) 单击“允许程序或功能通过Windows防火墙”弹出网络服务端口配置窗口,在此窗口中可以选择允许打开端口并通信的网络服务,单击“允许运行另一程序”来自定义开启某一网络服务或端口
4
用户管理
系统中用户的数量能越少越好,并且每个用户都被用于特定的功能,如可以新建一个专门用于对网站进行匿名授权的账户(如条件允许,可以为每个网站新建一个独立的账户进行分别授权,这些能够隔离开各网站的授权,提高各网站的安全性,不至于一个网站被入侵后能够有权限访问到其它网站的文件目录)。另外最重要的一点是要为每个账户设置一个独立且复杂的密码,防止账户密码被猜解和穷举。
5
文件系统权限管理
l C盘只给administrators 和system权限,其他的权限不给,其他的盘也可以这样设置,这里给的system权限也不一定需要给,只是由于某些第三方应用程序是以服务形式启动的,需要加上这个用户,否则造成启动不了。

l Windows目录要加上给users的默认权限,否则ASP和ASPX等应用程序就无法运行。其实没有必要单独设置Instsrv和temp等目录权限。

l 另外在c:/Documents and Settings/这里相当重要,后面的目录里的权限根本不会继承从前的设置,如果仅仅只是设置了C盘给administrators权限,而在All Users/Application Data目录下会 出现everyone用户有完全控制权限,这样入侵这可以跳转到这个目录,写入脚本或只文件,再结合其他漏洞来提升权限;
譬如利用serv-u的本地溢出提升权限,或系统遗漏有补丁,数据库的弱点,甚至社会工程学等等N多方法,在用做web/ftp服务器的系统里,建议是将这些目录都设置的锁死。其他每个盘的目录都按照这样设置,每个盘都只给adinistrators权限。
另外,还将:
net.exe
cmd.exe
tftp.exe
netstat.exe
regedit.exe
at.exe
attrib.exe
cacls.exe
format.exe
这些文件都设置只允许administrators访问。
l 网站的目录最好独立到一个磁盘中,新建一个为网站匿名访问而独立授权的账户,让此账户可以访问和编辑此目录,移除其它不必要的账户对此目录的访问权限,能有效防止网站被入侵后从而涉及到整个系统被控制

日常维护建议
1
定期运行安全软件进行快速扫描
定期运行一下安全软件,可以看到安全软件的引擎或病毒库是否已经更新到了最新版本,如果没有可以即时查找原因,看是否是安全软件未运行、升级端口被禁用或其它原因,虽然安全软件可以在后台即时扫描各种文件操作,以防止病毒入侵,但有些恶意软件、流氓软件或插件则不是实时防护的,虽然这些软件不会造成服务器宕机,但也会影响服务器性能。
2
定期检查防火墙端口配置
随着服务器上的网络服务越来越多,需要打开的网络端口也越来越多,但有些端口是不需要开放的,例如你安装了一个数据库软件(mysql、oracle等),这些数据库服务很可能只需要在你服务器的内部访问,就完全没有必要让其通过防火墙,这样能够提高服务器的安全,服务器对外提供的端口越少越好;
虽然在安装网络服务的过程中,防火墙会提示你有网络端口正在打开,是否允许通过防火墙,但有些管理员没有细心看提示,直接就同意了,造成了大量没有必要打开的网络端口被打开了,特别是一些木马或恶意软件会混水摸鱼,伪装提示信息来诱骗管理员打开网络端口,造成大量的安全隐患。进入防火墙配置界面,选择相应的端口或网络服务,点击“详细信息”则可以看到此项应用的详细信息,根据这些信息来判断其是否应该开启这个端口。
3
任务管理器中观察有无可疑进程,了解系统资源使用情况
任务管理器可以简单并快速的了解服务系统资源的使用情况,并即时查看系统运行的进程和他们占用的系统资源,根据服务器上已开启的各种应用的服务来判断哪些进程是非法的,哪些进程占用的系统资源过多。了解到这些信息后就可以即时的对服务器进行调整,特别是占用资源过多的进程进行分析,看是否有什么异常并即时进行调整。
l 观察系统进程,并自定义进程属性
4
查看网络使用情况
查看系统资源使用情况
检查IIS,了解网站安装情况
随时了解服务器上网站的安装状况,并做以下检查:
1、看各个网站定义的主机头是否异常
2、 绑定的域名是否完整
3、 主目录设置是正确
4、用户权限设置是否合理
5、 查看IIS的应用程序池设置是否合理,每个池下面托管的网站是否过多,是否需要设置新的应用池,是否有多余的应用池可以删除。
查看系统日志,仔细检查错误、警告日志发生的原因,并急时修复相应的问题。
检查系统用户,查看有无多余,可疑用户账户,查看每个账户所属的用户组,特别是administrators组下面的用户。服务器被入侵时会出现一些欺骗性的账户并被加入到administrators组中,特别留心新建的多余账户,弄清这些账户的用途,如果发现是入侵者建立的账户,要即时查找账户是被创建的原因,并修复相应的漏洞。
检查文件系统,确保磁盘被合理分区,各个分区应该有各自的功能,如系统、数据库、网站、备份等。各个分区的用户授权是不相同的,如系统、备份等不需要网站的专门授权账户访问,数据库分区需要对数据库账户进行单独的授权等。既然规划好了文件分区和功能,并进行了相应的授权,就要防止文件被乱放,以免造成安全隐患。
还要经常检查各种新建的文件夹和文件(特别是来历不明,名称畸形的隐藏文件夹和文件)这些都有可能是入侵者留下的入侵痕迹。
清除垃圾文件,随时系统运行时间的增加,会产生很多的临时文件和日志文件,占用宝贵的磁盘资源,如果磁盘的可用空间过小(特别是系统盘)还会影响服务器性能。
1、临时文件(安装程序、系统升级、应用程序等产生的)产生的,主要在系统盘,可以看哪些文件夹的体积异常大,可分析其内部文件,确认是临时文件后将其删除
2、 日志文件,主要是IIS产生的,这些日志文件对于查看网站运行状态、访问历史很有用,但日志有时效性,如果超过其三个月就没有什么用处了,但它会占用大量的磁盘空间,所以需要定期将其删除。
定期检查磁盘状态并进行碎片整理,随着系统运行时间的增长,特别是大量的IO操作后,磁盘上会产生大量的文件碎片,这些碎片过多则会严重影响服务器性能,所以定期(建议一个月)进行磁盘碎片检查,如果系统提醒需要进行碎片整理,则进行整理。
及时升级操作系统补丁,操作系统有各种大量的补丁,特别是一些重要的安全补丁需要即时升级,这样会有效防止黑客和病毒入侵。
及时备份重要的文件、应用、数据库。备份分为本地备份和异地备份,有条件的可以进行异地备份,备份是为了以防万一,当数据丢失或应用损坏时,备份就是救命稻草,因此合理的备份计划是非常有必要的。
不要随意下载安装来历不明的软件,特别是需要连接网络或需要打开端口的。现在网上许多的程序都内置有木马或恶意程序,所以不要下载和安装网上的不明软件,特别是一些小网站的。
END

❾ php 怎么做定时任务

linux系统的话用crontab来处理吧。方便快捷稳定


如果你非要用php做的话,那就写个守护进程了,比如:

<?php

while(true)
{
if(time()=='xxxxx')
{
$exe='phptest.php';
//执行
system($exe,$output);
}
sleep(5);
}

❿ php如何实现定时任务,php定时任务方法,最佳

PHP制作定时任务(也称计划任务)的方法,大概分为2种:

  1. 现在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它们都是单入口的形式,也就是说所有的请求都集合到index.php中,然后再由框架核心来根据请求参数的不同来分配到不同的控制器当中。基于单入口的形式,那么就可以做基于行为(例如TP3.2)或者说基于事件的定时任务。

  2. 系统自动的定时任务,比如Linux的crontab,windows的计划任务等。

两中方法各有所长各有所短

基于事件:这种利用的是框架本身提供的一些行为来实现,优点是:不需要特殊配置,只要项目能跑起来,那么定时任务也能执行。缺点是:灵活性比较差,必须要借助框架实现。

基于系统:基于操作系统来实现,优点是:灵活性很高,而且可控性也很好。缺点是:需要特殊配置,专业要求性比较强。

具体要使用哪种方法,可以依据自己的能力和项目需要来选择。最后附上TP3.2的定时任务配置,这个只需要配置就可以,如果想查看具体实现原理,可以查看/ThinkPHP/Library/Behavior/CronRunBehavior.class.php

第一步:/Application/Common/Conf目录下新建两个文件:
分别如:
/Application/Common/Conf/tags.php
/Application/Common/Conf/crons.php

1)新建tags.php,编辑内容如下:
returnarray(
'app_end'=>array('BehaviorCronRunBehavior'),
);

2)新建crons.php,编辑内容如下:
returnarray(
'cron_1'=>array('myplan',1),
);

第二步:/Application/目录下新建Cron文件夹,里面新建文件myplan.php文件
路径如:/Application/Cron/myplan.php
编辑内容如下:
echo11111;

查看是否运行成功,最简单的方法是查看/Application/Runtime/~crons.php,这个文件是否存在。

热点内容
androidsdk包含 发布:2024-05-04 00:45:54 浏览:207
android拷贝文件 发布:2024-05-04 00:38:28 浏览:775
存储冗余比 发布:2024-05-04 00:12:58 浏览:403
oracle数据库存储原理 发布:2024-05-04 00:10:40 浏览:522
未拆封玩客云3怎么搭建服务器 发布:2024-05-04 00:06:11 浏览:797
彻底删除编译安装的文件 发布:2024-05-04 00:05:33 浏览:55
编程机构数量 发布:2024-05-03 23:49:25 浏览:955
python源码编译安装 发布:2024-05-03 23:48:16 浏览:108
android手机市场 发布:2024-05-03 23:47:04 浏览:499
如何配置vlan并添加端口 发布:2024-05-03 23:37:53 浏览:726