![备份同步脚本不起作用](https://linux22.com/image/554871/%E5%A4%87%E4%BB%BD%E5%90%8C%E6%AD%A5%E8%84%9A%E6%9C%AC%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我有一个文本文件,其中所有文件夹名称按日期顺序排列,我正尝试在脚本中调用它以 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 行开头有一个“$”符号
然而我也看到了概念上的错误;比如使用文件名不同上下文中的变量名。