首页 Soft PlugIn RAN乱 Dev开发 Info资料 English WAP 留言 登陆 注册
-
Posted by Yippee | 评论(0) | 引用(1) | 阅读2245次
PHP MYSQL 定时 数据备份 crontab mysqldump  2

本来弄了一阵 PHP MYSQL 定时 数据备份 crontab mysqldump ,直接执行是OK的,但是WEB执行却总是 PHP 调用 外部命令 TAR   www.shengfang.org
想调用外部命令 CRONTAB 创建定时备份,结果总是返回空白页~~~~

crontab是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-uuser是指设定指定user的时程表,这个前提是你必须要有其权限(比如说是root)才能够指定他人的时程表。如果不使用-uuser的话,就是表示设定自己的时程表。 www.shengfang.org

如果PHP执行出现空白页面,一般有可能是PHP设置为安全模式,限制了某些函数或者程序的运行

就很奇怪,还以为是安全模式的问题,结果今天发现是因为用户不同的关系 sf  root /var/spool/cron,有两个文件,WEB登录进入是产生SF,TELNET我用ROOT,难怪看不到。CRONTAB -USF -L 就可以看到额。www.shengfang.org

剩下的就好说了。我比较偷懒,建立了四个CRON文件,分别表示:1.cron  2.cron  3.cron  4.cron 每天、每周、每月、每年 17 22 * * * /var/www/html/123/admin/backupscmd.php day www.shengfang.org

$cmd="/usr/bin/mysqldump -u $name -p$pwd --opt 123>";
$filename=date("YmdHis"); www.shengfang.org
$filename=$filename.$pre;
$cmd=$cmd."/var/www/html/123/admin/backup/$filename.sql"; www.shengfang.org
echo $cmd; www.shengfang.org
system($cmd); www.shengfang.org

0019
利用现存两个文件,生成一个新的文件
1. 取出两个文件的并集(重复的行只保留一份)  www.shengfang.org
2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
3. 删除交集,留下其他的行
1. cat file1 file2 &line; sort &line; uniq
2. cat file1 file2 &line; sort &line; uniq -d  www.shengfang.org
3. cat file1 file2 &line; sort &line; uniq -u


$crontabfile="./cron/crontab.cron";
   system("crontab -l >$crontabfile"); 获得以前的任务列表
   for ($i=1;$i<5;$i++)
   { www.shengfang.org
    system("cat $crontabfile"."$i-1" ." 1.cron &line; sort &line; uniq -u >$crontabfile".$i); 
    }
    删除交集,留下其他的行  www.shengfang.org

   $i=$i-1;
   $crontabfile=$crontabfile."$i";
   $booll=0; www.shengfang.org
   foreach ($ary as  $v)
   { www.shengfang.org
    if ($booll==0)
    {
     echo "cat ./cron/".$v.".cron $crontabfile &line; sort &line; uniq >./cron/cron.cron";
     system("cat ./cron/".$v.".cron $crontabfile &line; sort &line; uniq >./cron/cron.cron"); 
     $booll=1;
     } www.shengfang.org
    else
    {
    [hide] echo "cat ./cron/".$v.".cron $crontabfile &line; sort &line; uniq >>./cron.cron";
     system("cat ./cron/".$v.".cron $crontabfile &line; sort &line; uniq >>./cron/cron.cron"); [/hide]
     } www.shengfang.org
    }  取出两个文件的并集(重复的行只保留一份)
   system("crontab ./cron/cron.cron");
   $this->Show(); www.shengfang.org
    system("crontab -l");

17 22 * * * /var/www/html/123/admin/backupscmd.php day 17 22 * * * /var/www/html/123/admin/backupscmd.php year

这样就比较正常了,每次根据用户的选择先删 除所有的MYSQLDUMP备份任务,再加入用户选择的。www.shengfang.org

<input type="checkbox" name="ch1" value="1"   <?php if($chksch[0]==1) echo "checked=1";  ?> >   每天
很奇怪,设置CHECKED=0,也还是选择的,只有不显示CHECKED才是不选择的。古怪


字体:

Permanant URI永久地址 http://www.shengfang.org/blog/p/phpcrontabweb.php
Trackback URI引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1132282888

2005年11月18日11:01星期五  [Dev开发] 追踪此文的RSS
提示:
此文还没有评论。

称呼:    登陆   注册
   不注册,但记住我的信息
邮件:
(非必须)
评论: [UBB代码帮助]
粗体 斜体 下划线 链接 水平线 引用



验证码: 请输入你看见的数字
关闭UBB      提交时自动将内容复制到剪贴板

公告
Fire and Motion!

统计信息
[Yippee]||[统计]||日志:1790
在线: 17||用户: 2562 [列表]
今日:2107||到访:2671606
Rss:838433||评论:1584

最新日志

最新评论

友情链接

日历

最新引用

搜索

归档

杂项
Get RSS Feed (Version 2.0)
Get Atom Feed (Version 0.3)
编码:  UTF-8