[英]Linux script to create new directory with name as datestamp
当前脚本可以运行,但是输出略微关闭。 到目前为止,这就是我所拥有的。
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
cp
的目标是命令的第二个参数。 您使用日期作为文件名来重定向输出,但是cp
不会产生任何输出。
您需要执行mkdir
命令来创建目录,然后将该目录用作cp
命令的目标。
[Yy]* ) newdir=$(date +m%-%d-%y)
mkdir "$newdir"
cp -r /home/nagtech/backup "$newdir"
;;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.