php - CronJob 备份 : run every day, 周、月

标签 php cron cpanel

我对此进行了一些谷歌搜索,但我所能找到的只是单独的东西,而且说实话,cPanel 的界面有点令人困惑。 enter image description here

基本上,我有这个脚本来创建文件+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 在任何常规共享托管计划上所做的那样:每日、每周和每月。我想这样做是因为我的网站因托管公司备份无法正常工作而搞砸了。

  1. 我是否需要为每天、每周、每月创建单独的 cron 作业,还是可以一次完成所有这些作业?
  2. 如果我在 Command 字段中输入命令,是否足以使其正常工作,或者我需要设置其他输入字段?
  3. 如上所述,运行备份的正确命令是什么?

谢谢!

最佳答案

在该界面中,您有几个不同的命令选项,

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/

相关文章:

php - 尊重验证多个自定义错误消息

email - CNAME 和 WHM - 如何停止自动附加域名

php - Symfony自定义错误消息

php - 命令行刷新 linux box 上的 php session

Php 找不到 PostgreSQL 库,尽管它存在于指定的文件夹中

php - 如何关闭共享托管环境中特定目录的 php safe_mode off?

html - 响应式设计不适用于 linux cpanel (GoDaddy) - 适用于 classis linux 主机 (GoDaddy) 和本地

linux - Cronjob 未在 Linux 中运行

Python 在 cron 中找不到共享库

linux - 如何在 Linux 中使用 crontab 从上午 9 点到下午 1 点运行命令并每 2 分钟更新一次?