我一直在尝试为我的服务器设置计划备份,但我似乎无法让它工作。我需要每 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 转储的部分以及应在何处记录问题等。但它已经给了你一个结构。