网站自动计划备份(/var/www 和 MySQL 转储)

网站自动计划备份(/var/www 和 MySQL 转储)

我一直在尝试为我的服务器设置计划备份,但我似乎无法让它工作。我需要每 24 小时将 /var/www 的内容复制到主目录中文件夹中的压缩文件(tar?)中。我还想每 24 小时对所有 mysql 数据库执行一次转储,并将其存储在我的主目录中的另一个文件夹中。我希望两个备份都以当前日期命名。

服务器运行的是 Ubuntu 12.04.1,我只能通过 SSH 访问,所以没有图形界面。

这可以吗?我一直在研究 TAR 和 rsync 实用程序,但我不知道该怎么做。如果有人能帮助我,我将非常感激。

答案1

编写一个执行此操作的脚本,并将cron其放在 上,设置为每天运行它/etc/cron.daily。读在此输入链接描述

您的脚本需要运行 run rsync (它有一个--archive选项)并使用日期来生成文件名。对于 MySQL 数据库,您需要先创建转储。您可以用您喜欢的任何语言编写该语言。在 Perl 中,它会是这样的:

my ($day, $month, $year) = (localtime)[3,4,5];
my $time = sprintf ("%04d-%02d-%02d", $year+1900, $month+1, $day);    

my @backup_commands = (
  "/usr/bin/rsync --archive --copy-links /var/www /somewhre/$time",
  "/usr/bin/rsync --archive --copy-links /mysqldunmp /somewhere/$time",
);

foreach (@backup_commands) {
  system($_);
  if ($? == -1){
    ## add you favaorite method of reporting here
  }
}

您需要调整路径名、设置创建 MySQL 转储的部分以及应在何处记录问题等。但它已经给了你一个结构。

相关内容