备份同步脚本不起作用

备份同步脚本不起作用

我有一个文本文件,其中所有文件夹名称按日期顺序排列,我正尝试在脚本中调用它以 rsync 到一次备份文件夹,基本上合并所有增量备份。

#!/bin/bash
filename=/home/user/Scripts/Testing/temp.txt
while read filename
do
$ for f in ls -t /var/user-test/ | grep $filename; rsync -aL /var/user-test/$f /var/u-backup/secure/;
done < temp.txt

此脚本旨在遍历不同的备份文件夹并将它们同步到一个文件夹中。我的问题是,一是此脚本不起作用,二是这是合并增量备份的最佳方法

答案1

对于您要做的事情,这里有一个更好的方法:

#!/bin/bash
#
# Copy data from a number of directories specified by $file (and located in $source) into a single directory specified by $target
#

file=/home/user/Scripts/Testing/temp.txt
source=/var/user-test/
target=/var/u-backup/secure/

cat $file | while read directory; do

  rsync -aL "${source}${directory}/" "${target}"

done

答案2

你的脚本有很多错误,有些是语法错误,最明显的是你忘记在 for 循环中添加 do/done;另外,第 5 行开头有一个“$”符号

然而我也看到了概念上的错误;比如使用文件名不同上下文中的变量名。

相关内容