1
我有一個shell腳本來備份和恢復掃描儀設備的校準。使用通配符複製文件夾和文件
代碼:
if [ "-backup" == "$1" ]; then
if [ ! -d $BACKUPDIR ]; then
mkdir -p $BACKUPDIR
cp -r -d $HOME/Syscan_DocketPORT465 $BACKUPDIR/Syscan_DocketPORT465
cp -r -d $HOME/DocuCap_DocketPORT467 $BACKUPDIR/DocuCap_DocketPORT467
fi
elif [ "-restore" == "$1" ]; then
if [ -d $BACKUPDIR ]; then
cp $BACKUPDIR/Syscan_DocketPORT465/* $HOME/Syscan_DocketPORT465/
cp $BACKUPDIR/DocuCap_DocketPORT467/* $HOME/DocuCap_DocketPORT467/
fi
fi
現在,它備份2個文件夾,Syscan_DocketPORT465
和DocuCap_DocketPORT467
。在這些文件夾中有一個名爲Calibration.dat
的文件。
我現在需要做的是讓每個文件夾都跟着*_DocketPORT*
被備份和恢復,這樣每次添加DocketPORT的新配置時,我們都不需要編輯腳本。
我已經試過這樣:
if [ "-backup" == "$1" ]; then
if [ ! -d $BACKUPDIR ]; then
mkdir -p $BACKUPDIR
cp -r -d $HOME/*_DocketPORT* $BACKUPDIR
fi
elif [ "-restore" == "$1" ]; then
if [ -d $BACKUPDIR ]; then
cp -r -d $BACKUPDIR/*_DocketPORT/* $HOME
fi
fi
對於備份,這工作得很好!
但對於恢復它不斷告訴我,它不能覆蓋先前創建的/home/path/Calibrate.dat
與/home/path/Syscan_DocketPORT465/Calibration.dat
因此,基本上,它不斷在/home/path/SOMEDOCUCAPFOLDER/
把Calibration.dat
在/home/path/
,而不是出於某種原因。
任何人都可以幫我嗎?
您da da man dawg。我不敢相信我沒有看到我自己:)我想有時你只需要第二雙眼睛。 – JREN