繁体   English   中英

Linux脚本创建名称为datestamp的新目录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM