Я пытаюсь создать скрипт, который будет выполнять следующие действия:
- создать / home / testuser / backup в качестве каталога, если он не существует (и не будет отображать ошибкусообщение, если оно существует)
- получить текущую дату и сохранить ее как переменную
- Используя Tar:
- сделать резервную копию всего каталога файлов проекта
- резервная копиясжатый, в формате gzip, в архивном формате
- использует хранимую переменную для включения даты в имя файла tar
- резервная копия отправляется в каталог / home / testuser / backup
- создать файл журнала с именем testuser.log со всеми сообщениями, сгенерированными командой tar (используя подробный режим)
- сохранить файл журнала в /home/testuser/backup/testuser.log
У меня проблемы с синтаксисом команды, и я не совсем понимаю, что я делаю неправильно.
cd /home/testuser
mkdir -p /home/testuser/backup
today=$(date'+%d-%m-%y')
tar -zcvf testuserbackup-$today.tar.gz projectfiles &&
testuserbackup-$today.tar.gz /home/testuser/backup
testuserbackup-$today.tar.gz >> testuser.log 2>/dev/null
mv testuser.log /home/testuser/backup
Когда я пытаюсь запустить скрипт, я получаюследующий вывод терминала:
./script2.sh: line 6: date+%d-%m-%y: command not found
projectfiles/
projectfiles/budget/
projectfiles/budget/testuserbudget1.txt
projectfiles/budget/testuserbudget2.txt
projectfiles/old/
projectfiles/old/testuserold2.txt
projectfiles/old/testuserold1.txt
projectfiles/documents/
projectfiles/documents/testuserdoc2.txt
projectfiles/documents/testuserdoc1.txt
./script2.sh: line 7: testuserbackup-.tar.gz: command not found
Я открыт для любых предложений.Это задание из старого задания прошлого семестра, к которому я возвращаюсь для забавы ... Согласно моим старым заметкам о назначении, это задание должно выполняться не более чем в 4 строках кода.
** РЕДАКТИРОВАТЬ: ** Готовый сценарий (с помощью Джона)
#!/bin/bash
mkdir -p /home/testuser/backup
today=$(date '+%d-%m-%y')
tar -zcvf backup/testuserbackup-"$today".tar.gz projectfiles >
backup/testuser.log 2>&1