当前脚本可以正常运行,但是输出略微关闭。这就是我到目前为止所拥有的。
echo "Which client are we backing up today? Choose one below."
ls -la /usr/local/nagios/etc/objects/Clients | awk '{print $9}'
read varname
cd /usr/local/nagios/etc/objects/Clients/$varname
while true; do
read -p "Backup files located in nagtech/backup to current client directory? (y/n) " yn
case $yn in
[Yy]* ) cp -r /home/nagtech/backup $varname > mkdir$(date +m%-%d-%y); break;;
[Nn]* ) exit;;
* ) echo "Please anwser yes or no.";;
esac
done
我的意图是创建一个新的DIRECTORY并用当前日期戳命名(如果输入为y)。但是,它不完全在那里。下面是输入“ y”并将$ varname设置为“ HELP”时的示例输出。
drwxr-xr-x 4 root root 4096 Aug 24 17:45 .
drwxr-xr-x 16 root root 4096 Aug 22 18:36 ..
drwxr-xr-x 2 root root 4096 Aug 22 18:38 08.22.18
-rw-r--r-- 1 root root 0 Aug 24 17:45 mkdirm%d-18
drwxr-xr-x 3 root root 4096 Aug 24 17:45 HELP
答案 0 :(得分:0)
cp
的目的地是命令的第二个参数。您使用日期作为文件名来重定向输出,但是cp
不会产生任何输出。
您需要执行mkdir
命令来创建目录,然后将其用作cp
命令的目标。
[Yy]* ) newdir=$(date +m%-%d-%y)
mkdir "$newdir"
cp -r /home/nagtech/backup "$newdir"
;;