【问题标题】:cron job make directory visablecron作业使目录可见
【发布时间】:2013-08-14 21:16:53
【问题描述】:

我在服务器上有一个目录 - var/www/html/content - 我会在正好 9 时递归地为这个目录中的所有内容提供 755 权限(或者可能是 757,此时这并不重要):每天上午 30 点。

我认为最好的方法是创建一个 .php 文件,其中包含类似的内容;

$ chmod -R 757 var/www/html/content/

我猜我也需要一个 su 命令来切换到 root 用户???

然后我需要做的就是通过命令行设置一个 cron 作业。类似的东西;

30 09 * * * /var/www/html/run-job.php

这是对的吗?有没有更好的方法来完成这种任务?我以前从来没有做过这样的事情......

编辑

有人要求我添加更多上下文...

基本上,“内容”目录本质上包含一个 PDF、Excel 和 HTML 文件库。不同主题的不同 PDF 定期发布,大约每周一次,但必须在特定日期的上午 9:30 发布。

如果我正确设置了这个 cron 作业,那么我可以在前一天(下午的某个时间)上传文件,而且我不必担心第二天 9:30 需要手动完成。

我需要做的就是将文件移过来,将权限更改为 000(或者让公众或 apache 无法查看的权限),然后在我的脚本可以完成所有操作的那天 9:30我在家睡觉时可以看到。

有意义吗?

【问题讨论】:

  • 你能多加一点上下文吗?也许完全有另一种解决方案:)

标签: php cron file-permissions jobs


【解决方案1】:

您可以直接从 cron 运行命令,因此您可以通过将其放入 cron 来实现它:

30 09 * * * /bin/chmod -R 757 /var/www/html/content/

您可以编辑当前用户的 cron 作业,方法是输入:

crontab -e

您可以通过输入以下命令查看当前用户的 cron 作业列表:

crontab -l

【讨论】:

  • 我收到一个错误; bash:30:找不到命令。我需要前缀吗??
  • 尝试 /bin/chmod 而不是 chmod
  • 同样的错误..也许我做错了什么?目前我进入命令行。以我的身份登录。然后su到root。输入密码..然后我在上面的语句中输入。中间没有步骤?
  • 哦...这是一个crontab行,所以以root登录后输入:crontab -e,在末尾添加此行,保存并退出。
  • 当我输入 crontab -e 并按回车键时,它会返回“root 没有 crontab - 使用一个空的” - 然后在新行上加载 ~ 字符,末尾带有 "/tmp/crontb.ICL4Nd", OL, OC - 并且它不会让我在那之后输入任何内容。所以我必须关闭命令行并重新开始。当我返回并输入 crontab -l - 它仍然返回no crontab for route
猜你喜欢
  • 2013-08-11
  • 2012-06-03
  • 1970-01-01
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多