此备份是否每天备份到特定用户的主目录中?

此备份是否每天备份到特定用户的主目录中?

https://rsync.samba.org/examples.html,以下示例中有两个备份,其中第一个备份由find和完成cp,第二个备份由 完成rsync。我的问题是关于第一次备份。

我每天晚上都使用 rsync 通过调制解调器链接备份我妻子的主目录。 cron 作业看起来像这样

#!/bin/sh
cd ~susan
{
echo
date
dest=~/backup/`date +%A`
mkdir $dest.new
find . -xdev -type f \( -mtime 0 -or -mtime 1 \) -exec cp -aPv "{}"
$dest.new \;
cnt=`find $dest.new -type f | wc -l`
if [ $cnt -gt 0 ]; then
  rm -rf $dest
  mv $dest.new $dest
fi
rm -rf $dest.new
rsync -Cavze ssh . samba:backup
} >> ~/backup/backup.log 2>&1

请注意,此脚本的大部分内容与 rsync 无关,它只是创建每日备份苏珊的作品在 ~susan/backup/ 目录中这样她就可以检索上周的任何版本。

最后一行通过调制解调器链接将她的目录 rsync 到主机 samba。请注意,我使用 -C 选项,它允许我向 .cvsignore 添加条目以获取不需要备份的内容。

我的问题是

  1. “在 ~susan/backup/ 目录中”是否由“dest=~/backup/ date +%A”指定?~in 是否表示dest运行脚本的用户的主目录,该用户可能不是 Susan,所以~可能不表示~susan

  2. 是否指定“每日备份” \( -mtime 0 -or -mtime 1 \)?是否 \( -mtime 0 -or -mtime 1 \)意味着文件在过去 48 小时内修改,而不是过去 24 小时内修改?

谢谢。

答案1

“在 ~susan/backup/ 目录中”是否由“dest=~/backup/date +%A”指定?

是的,所以你是对的,实现与规范不太相符。

dest 中的 ~ 是否表示运行脚本的用户的主目录,该用户可能不是 Susan,所以 ~ 可能不表示 ~susan?

是的。但该脚本需要运行 assusanroot无论如何,以确保访问 Susan 的所有文件。它可能是由苏珊经营(或cron代表她)。

“每日备份”是否由( -mtime 0 -或 -mtime 1 )指定?

我认为“每日”可能是由运行脚本的内容决定的cron(或者现在是 systemd 计时器)。

( -mtime 0 - 或 -mtime 1 ) 是否表示在过去 48 小时内而不是过去 24 小时内修改的文件?

是的。-mtime 0表示“与现在相比,其修改时间戳,向下舍入到最近的 24 小时,为 0 × 24 小时”,对于 也是如此-mtime 1,因此这会找到过去 48 小时内修改的所有内容(嗯,严格小于 48 小时)。您需要它来捕获完整 24 小时的变化,同时考虑到日常作业的开始时间变化。

相关内容