Linux下如何定时执行php脚本?linux下的Crontab定时服务

Linux下如何定时执行php脚本?

键入 crontab??-e 编辑crontab服务文件

——————————————Ubuntu中的linux—————安装lynx包:apt-get isntall lynx先写ln.sh脚本:lynx http://10.11.12.49/data_task.php

设置定时:crontab -e0 1 * * * bash /var/www/test/ln.sh————————————————————————-分为两种情况:第一种情况:你的php脚本中没有引入其他PHP文件,也就是说没有include,require_once等命令的PHP文件* */1 * * * /usr/local/php/bin/php??/var/www/html/wwwroot/web/script.php (每一小时执行一次script.php)注意,这样写需要把PHP变成可执行的脚本文件。在命令行下,脚本所在目录chmod +x script.php注意:你的script.php文件中一定要在开始处加上: #!/usr/local/php/bin/php -q ,下面是一个完整的script.php文件代码

<?php#!/usr/local/php/bin/php -qsession_start();define( "DB_PASSWORD", "111111" ); // 服务器登陆密码define( "DB_NAME", "db_shopping" ); // 数据库名称define( "DB_USER", "root" ); // 服务器登陆用户define( "DB_HOST", "127.0.0.1" ); // 服务器IP地址或名称define( "DB_PORT", "3306" ); // 服务器登陆端口号define( "DB_CHARSET", "utf8" ); // 数据库默认语言define( "DB_DEBUG", false ); // 是否设置为调试模式define( "DB_CLOSE", false ); // 是否主动关闭数据库连接$con=mysql_connect(DB_HOST.":".DB_PORT,DB_USER,DB_PASSWORD);mysql_query ( "SET character_set_connection = ".DB_CHARSET.", character_set_results = ".DB_CHARSET.", character_set_client = binary");if (!$con) die("Mysql Error:".mysql_error());mysql_select_db(DB_NAME,$con);//$dates=date()$sqll="insert into test(NAME,Sex,thisdate,state) values('love','0','2011-08-11','1')";$resl=mysql_query($sqll);echo "成功...";?>

/usr/local/php/bin/php的意思是:用/usr/local/php/bin/目录中的php.exe文件来执行 /var/www/html/wwwroot/web/script.php

第二种情况:你的php脚本中有引入其他PHP文件,也就是说有用到include,require_once命令的PHP文件(先写shell脚本)上面的方法有一个问题:当script脚本中有include文件时,脚本根本找不对PHP的路径,php将会在/bin/local/php目录下找文件,当然找不到。所以,遇见这种情况,按照下面的方法做:在终端上输入如下命令得到sh 和 lynx 程序的路径:whereis shwhereis lynxorwhich shwhich lynx随便输入一个,其中便会返回你要的路径。如果你的系统里没有lynx,试试links,w3m,或者 links2,这些是其它的文本模型浏览器。这些浏览器将会运行你的脚本。然后你需要创建一个sh文件,用它来调用php文件,通过lynx。假设你的服务器已经安装了lynx,sh路径为 /bin/sh,lynx路径为 /usr/local/bin/lynx

#!/bin/sh/usr/local/bin/lynx -source http://www.yoursite.com/folder/script.php

注意感叹号把这个脚本保存为cron-lynx.sh保存到一个你找得到的地方,比如:

你可以把它放在网站根目录。然后再创建一个script.php的文件。当cron运行的时候,将会通过lynx来调用它。这个文件可以通过浏览器来访问。

然后编辑主机的crontab,像下面这样。*/1 * * * * ?/usr/www/yourdirectory/sh_scripts/cron-lynx.sh在/bin/sh 和 /usr 间有空格。就这样就设好了,还有一点要注意的是,你的sh文件和php文件都正确无误。

关于linux下的定时服务,你可以移步《Linux中crond服务与crontab用法教程》。

Linux下如何定时执行php脚本?linux下的Crontab定时服务

相关文章:

你感兴趣的文章:

标签云: