我对此进行了一些谷歌搜索,但我所能找到的只是单独的东西,而且说实话,cPanel 的界面有点令人困惑。
基本上,我有这个脚本来创建文件+mysql备份:
<?php
$auth = base64_encode(":");
$domain = "";
$theme = "";
$secure = false;
$ftp = false;
$ftpserver = "";
$ftpusername = "";
$ftppassword = "";
$ftpport = "21";
$ftpdirectory = "/";
if ($secure) {
$url = "ssl://" . $domain;
$port = 2083;
} else {
$url = $domain;
$port = 2082;
}
$socket = fsockopen($url, $port);
if (!$socket) {
exit("Failed to open socket connection.");
}
if ($ftp) {
$params = "dest=ftp&server=$ftpserver&user=$ftpusername&pass=$ftppassword&port=$ftpport&rdir=$ftpdirectory&submit=Generate Backup";
} else {
$params = "submit=Generate Backup";
}
fputs($socket, "POST /frontend/" . $theme . "/backup/dofullbackup.html?" . $params . " HTTP/1.0\r\n");
fputs($socket, "Host: $domain\r\n");
fputs($socket, "Authorization: Basic $auth\r\n");
fputs($socket, "Connection: Close\r\n");
fputs($socket, "\r\n");
while (!feof($socket)) {
$response = fgets($socket, 4096);
echo $response;
}
fclose($socket);
?>
我想运行该 PHP 文件,以便它备份我的内容,就像 cPanel 在任何常规共享托管计划上所做的那样:每日、每周和每月。我想这样做是因为我的网站因托管公司备份无法正常工作而搞砸了。
- 我是否需要为每天、每周、每月创建单独的 cron 作业,还是可以一次完成所有这些作业?
- 如果我在 Command 字段中输入命令,是否足以使其正常工作,或者我需要设置其他输入字段?
- 如上所述,运行备份的正确命令是什么?
谢谢!
最佳答案
在该界面中,您有几个不同的命令选项,
php -q /path/to/your/script.php
可以。
如果将#!/usr/bin/php -q
添加到 PHP 脚本的顶部,那么您可以直接从 cron
调用它:
/path/to/your/script.php
此处介绍了您问题的一般答案(与该网络界面无关):
How to execute a php script every day
这也可能有帮助,是关于 crontab 语法的随机但相当不错的引用:
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/
关于php - CronJob 备份 : run every day, 周、月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33718916/