我正在使用带有rsync的bash脚本来创建每日和每周备份。它的工作原理简短:
rm -rf /path/to/$currentday/*
cp -ral /path/to/$previousday/* /path/to/$currentday/
rsync -tru --progress /path/to/SOURCE/* /path/to/$currentday/
通过WAN将其从一个存储设备拉到另一个存储设备。自公司发展以来,我们需要监控每次脚本运行时通过WAN实际发送的数据量。
我有办法计算$currentday
文件夹并排除未更改的文件(仍然是硬链接的)吗?
或者可以在脚本中添加一行来记录正在发送的文件?
我一直在搜索互联网,但遗憾的是没有找到任何有用的东西,我尝试的所有内容都会出现文件夹的总大小,即2TB。
有人这样做是否愿意与我分享?
答案 0 :(得分:0)
我发现du
只能计算一次硬链接的大小。测试这个步骤:
mkdir 1 2
cd 1
dd if=/dev/zero of=f1 bs=1024 count=1024
dd if=/dev/zero of=f2 bs=1024 count=2048
cd ../2
ln ../1/f1
cp ../1/f2 .
cd ..
du -shc 1 2
du -shc 2 1
您会看到第二个文件夹没有考虑以前使用的硬链接的大小。也许这种方法有所帮助。