Re: [问题] 怎么离开 at 工作排程

楼主: abby8050 (LoRdOfCrEaTuRe)   2016-07-24 16:31:58
※ 引述《kenduest (小州)》之铭言::
: 若你写 php 是希望达成执行 at 然后可以把资料喂给他,也就是直接程式与 at 互动的话
: 一般会用 popen 方式. 可以查一下 php 本身官方下面的 popen 例子很多程式码参考
: http://php.net/manual/en/function.popen.php
: 比方:
: <?php
: $command= <<<EOF
: ls -l / > /tmp/ls-result.txt
: date > /tmp/date-result.txt
: EOF;
: $handle = popen("at 22:00","w");
: fwrite($handle,$command);
: fclose($handle);
: ?>
: 最后题外话 shell_exec("cd /"); 这样一行叙述实际上执行之后,你后续的程式执行工作
: 目录都还不会在 / 那边,因为他是 spawn 一个 shell 去执行,执行之后结束该 shell
: 就消失了。除非你刚好一行内有 cd 到其他目录然后又执行其他命令叙述搭配一起用。
其实是想在client指定的时间才寄出信。
以下方式都可以收到信,问题已解决。
1. 采用popen:
<?php
$command = "mail -s 'title' [email protected]/*
作者: kenduest (小州)   2016-07-24 19:12:00
内建php不早就有mail函数,这样多此一举误会意思。你 io 重导例子内确认 test.txt 在正确目录内吗另外不是提供 popen 范例有测试过吗另外你应该有装命令列版本的php, php xxx.php 可以执行吗
楼主: abby8050 (LoRdOfCrEaTuRe)   2016-07-24 19:41:00
php cli 试了date > test.txt 不含at就可以 含at就不行IO重导例子 test.txt写成绝对路径 php cli可以执行 但是在网页上点这个连结就不行
作者: kenduest (小州)   2016-07-24 20:30:00
确认档案权限与selinux设定
楼主: abby8050 (LoRdOfCrEaTuRe)   2016-07-24 20:46:00
档案权限send_mail.php和test.txt都是777了 然后不知道要搞懂selinux的哪一部分呢? (第一次听到这个)
作者: kenduest (小州)   2016-07-24 20:57:00
setenforce 0 暂时关闭后测试先问你用哪个linux系统,rh based 才有selinux
楼主: abby8050 (LoRdOfCrEaTuRe)   2016-07-24 21:04:00
ubuntu我知道问题在哪里了>< 要去/etc/at.deny把 www-data删掉
继续阅读

Links booklink

Contact Us: admin [ a t ] ucptt.com