Cron作业重命名网页

首先,让我说我对Cron Jobs或PHP文件一无所知,所以如果您足够回复,请记住我的新手状态 - (使用小词并慢慢说!)

我是我们组织网站的网站管理员,我正在尝试做一些应该简单而又耗时的事情:在我们网站的主网页上,并在感恩节和圣诞节假期期间自动更新它。 我已经创建了我需要的特定网页,并将它们上传到了GoDaddy服务器,但我实在没有时间按照日期的方法进入并手动重命名这些网页; 我被告知Cron Job只是用来自动保存现有页面并重命名新页面的东西。

下面是我想要做的:1)位于根目录中的文件Index.htm得到保存或重命名,以便假期结束后我可以回到它。 2)现在名为/ Holiday Pages / happy_thanksgiving.htm的文件在11月25日移到根目录并重命名为index.htm。12月24日与名为merry_christmas.htm的文件相同。 3)GoDaddy有一个Cron Job控制面板,它允许我在特定的时间在特定的时间运行特定的脚本,所以我不认为日期代码需要嵌入脚本本身 - 但我没有一个线索是什么放在这个脚本 - 从与GoDaddy的人谈话,他们建议一个PHP脚本。 4)在这个PHP脚本中,我需要写什么命令(具体例子请 - 一个示例脚本将是非常棒的,最受赞赏!)5)这个脚本的扩展名应该是什么? .TXT或.PHP?

提前致谢! 再次,请记住我在这里头 - 并请原谅我的无知!

-------------------------------------------------- ----- UPDATE 111/15/14 --------------------------------------- -----------------以下是我迄今为止所尝试的,使用了一些建议 - 数字1)2)等是试用脚本编号,然后由GoDaddy的Cron调用工作经理。

1)----------------------------------------------

<?php
$target = "/holiday_pages/happy_thanksgiving.html"; 
$newName = "/holiday_pages/index.htm";
$renameResult = rename($target, $newName);
// Evaluate the value returned from the function if needed
if ($renameResult == true) {
echo $target . " is now named " . $newName;
} else {
 echo "Could not rename that file";
}
?>

2)------------------------------------------------

rename('/holiday_pages/happy_thanksgiving.html', '/holiday_pages/index.htm');

3)------------------------------------------------

rename("/holiday_pages/happy_thanksgiving.html", "/home/user/password/holiday_pages/index.htm");

?> 

4)------------------------------------------------

<?php

$date = new DateTime();
$date -> format('Y.m.d');

if ($date == '2014.11.15') {
copy('./HTML/holiday_pages/index.htm','index.htm.bak');
copy('./HTML/holiday_pages/happy_thanksgiving.html','index.htm'); // you need to make sure      if this (../Holiday Pages/) is the right path to your file!

}
else if ($date == '2014.11.26') {
copy('index.htm.bak','index.htm');

}

5)------------------------------------------------ -

<?php

$date = new DateTime();
$date -> format('Y.m.d');

if ($date == '2014.11.15') {
copy('../HTML/holiday_pages/index.htm','index.htm.bak');
copy('../HTML/holiday_pages/happy_thanksgiving.html','index.htm'); // you need to make sure if this (../Holiday Pages/) is the right path to your file!

}
else if ($date == '2014.11.26') {
copy('index.htm.bak','index.htm');

}

6)------------------------------------------------ -

<?php

$date = new DateTime();
$date -> format('Y.m.d');

if ($date == '2014.11.15') {
copy('/HTML/holiday_pages/index.htm','index.htm.bak');
copy('/HTML/holiday_pages/happy_thanksgiving.html','index.htm'); // you need to make sure if     this (../Holiday Pages/) is the right path to your file!

}
else if ($date == '2014.11.26') {
copy('index.htm.bak','index.htm');

}

7)------------------------------------------------ ---

<?php

$date = new DateTime();
$date -> format('Y.m.d');

if ($date == '2014.11.15') {
copy('./holiday_pages/index.htm','index.htm.bak');
copy('./holiday_pages/happy_thanksgiving.html','index.htm'); // you need to make sure if this (../Holiday Pages/) is the right path to your file!

}
else if ($date == '2014.11.26') {
copy('index.htm.bak','index.htm');

更好的解决方案是根据日期创建文件和代码动态包含文件,示例代码如下:

$date = date("m-d-y", time());  // current date

$holidays = array('12-25-14' => 'christmas-page.php', '11-27-14' => 'thanksgiving-day-page.php'); // create all holidays here

$page = isset($holidays[$date]) ? $holidays[$date] : 'default-index.php';

include($page);

简单的逻辑,将工作正常


只需创建一个文件并命名它,例如holiday_copy.php。 这是脚本本身:

<?php

$date = new DateTime();
$date -> format('Y.m.d');

if ($date == '2014.11.25') {
    copy('index.htm','index.htm.bak');
    copy('../Holiday Pages/happy_thanksgiving.htm','index.htm'); // you need to make sure if this (../Holiday Pages/) is the right path to your file!

}
else if ($date == '2014.11.26') {
    copy('index.htm.bak','index.htm');
}
else if ($date == '2014.12.24') {
    copy('index.htm','index.htm.bak');
    copy('../Holiday Pages/merry_christmas.htm','index.htm'); // again, you need to make sure if this (../Holiday Pages/) is the right path to your file!
}
else if ($date == '2014.12.27') {
    copy('index.htm.bak','index.htm');
}

?>

你必须在预期的日子里运行这个脚本,最好的时间是

0:01 on eg 2014-12-24

您需要将此文件放置在您的index.htm所在的根目录中。 如果你不想要这个,在这个脚本中添加适当的路径到所有复制的文件 - 例如:

copy('index.htm','index.htm.bak');

一定要有权访问所有的目录和文件! 请记得在假期后的几天给它打电话,以便恢复旧的index.htm。


这不是一个PHP解决方案。 这是一个SSH /命令行解决方案,也不是Cron Job。 花费大约2-5分钟。

假设您使用的是Linux托管计划,并且您的帐户已启用SSH(远程登录); 如果没有,您可以要求/致电GoDaddy为您的帐户启用此功能。

一旦你在命令行上,执行以下操作。

安全第一,所以备份所有的文件,我们要移动或混乱:

  • cd PUBLIC_ROOT_DIR
  • cp“index.htm”“index.htm.bak”
  • cp“假日页面/ happy_thanksgiving.htm”“假日页面/ happy_thanksgiving.htm.bak”
  • cp“节日页面/ merry_christmas.htm”“节日页面/ merry_christmas.htm.bak”
  • 感恩节前:

  • cd PUBLIC_ROOT_DIR
  • mv“index.htm”“index.htm.off”
  • MV“节日页/ happy_thanksgiving.htm”“index.htm”
  • 感恩之后:

  • cd PUBLIC_ROOT_DIR
  • mv“index.htm”“happy_thanksgiving.htm.off”
  • mv“index.htm.off”“index.htm”
  • 圣诞节前:

  • cd PUBLIC_ROOT_DIR
  • mv“index.htm”“index.htm.off”
  • MV“节日页/ merry_christmas.htm”“index.htm”
  • 圣诞节后:

  • cd PUBLIC_ROOT_DIR
  • mv“index.htm”“merry_christmas.htm.off”
  • mv“index.htm.off”“index.htm”
  • 链接地址: http://www.djcxy.com/p/66343.html

    上一篇: Cron Job to rename web pages

    下一篇: Restarting cron after changing crontab file?