我们正在为我们的客户进行一些服务器维护。其中一项任务是更改所有服务器密码(用户帐户+ mysql帐户)。我最后更改了所有已启用的SSH帐户的密码,并更改了MySQL根目录和网站数据库用户的密码。
客户正在运行在CakePHP 2.3.6上开发的网站。更改数据库密码后,我编辑了配置(/app/config/database.php)。一切顺利,期待一件事:shell cronjobs已停止工作。在用户帐户www-data下有三个cronjobs:
20 3 * * * /var/www/sitename/app/Console/cake parse >> /var/log/cakephp_cron/parse.log
30 3 * * * /var/www/sitename/app/Console/cake get_feed >> /var/log/cakephp_cron/get_feed.log
40 3 * * * /var/www/sitename/app/Console/cake maintenance >> /var/log/cakephp_cron/maintenance.log
cronjobs负责更新一些联盟供稿。我检查日志文件(parse.log,get_feed.log和maintenance.log)并且它们正在更新,因此cronjob仍在运行。但是,自更改密码后,Feed不再更新。该日志根本不会抛出任何错误消息,就此而言,它们是无用的。
由于我不是CakePHP专家,CakePHP网站上的文档不会告诉我有关cronjobs配置的大量信息,我希望有人在这里知道出了什么问题。是否还有我需要编辑的数据库凭据的配置文件?是否有应编辑的shell cronjobs配置文件?换句话说:任何想法出了什么问题,我应该从哪里开始寻找解决方案?
答案 0 :(得分:0)
基本上这些是不属于CakePHP平台的自定义脚本。您需要找到它们的代码,我猜他们有一些用于密码的变量。
普通文件位置为/app/Console/Command/
。您可能会看到ParseShell.php
。如果是这样,请查看该文件,它将具有此特定cron作业的代码。密码可能是硬编码的,但他们也可以使用Configure
系统加载变量:Configure::read('parse.api.password.example');
然后,您可以在项目中搜索该字符串并找到变量的设置位置并进行更新(可能在某处的/app/Config