Скрипт Linux для создания нового каталога с именем в качестве даты - PullRequest
0 голосов
/ 25 августа 2018

Текущий скрипт работает, но вывод немного отключен. Это то, что я имею до сих пор.

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

Мое намерение состоит в том, чтобы создать новый СПРАВОЧНИК и НАИМЕНОВАТЬ с отметкой текущей даты, если введено значение 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

1 Ответ

0 голосов
/ 25 августа 2018

Пункт назначения cp является вторым аргументом команды.Вы используете дату в качестве имени файла для перенаправления вывода, но cp не производит никакого вывода.

Вам необходимо выполнить команду mkdir, чтобы создать каталог, а затемиспользуйте это как пункт назначения команды cp.

[Yy]* ) newdir=$(date +m%-%d-%y)
        mkdir "$newdir"
        cp -r /home/nagtech/backup "$newdir"
        ;;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...