попробуйте разбить на две строки
echo "*/2 * * * *" /usr/bin/aws ssm-send-command (...) >> /etc/cron.d/lvm_disk_space
таким образом *
не будет расширяться до локальных имен файлов, и вы получите оставшийся аргумент.
Обратите внимание, что внешняя цитата удалена.
напр.
--document-name "AWS-RunShellScript"
расширяется как
--document-name AWS-RunShellScript
Похоже, вы хотите хранить файлы в zip
архивах с именами или путями, отличными от оригиналов. Помимо полного удаления пути, изменение путей или имен файлов в zip
файлах не представляется возможным с помощью общедоступных утилит.
В качестве обходного пути вы можете создать нужную структуру каталогов во временной папке с помощью жестких ссылок.
(Я понятия не имею, почему люди ссылаются на tar
и gzip
. Они не имеют значения, поскольку вы прямо указываете, что вам нужны файлы zip
.)
Вы можете создать временную иерархию каталогов с именем целевой папки архива, заархивировать ее, а затем удалить.
Это работает для bash
, если предположить, что в текущем каталоге
archive
. (
shopt -s extglob
mkdir archive &&
cp -al !(archive) archive &&
zip -r archive.zip archive
rm -rf archive
)
Обратите внимание, что новая иерархия каталогов связана, а не копируется, поэтому (a )это быстро, (b )не занимает значительного дополнительного места на диске.
Рабочий пример
# Set up the files in a directory
mkdir secret_name; touch secret_name/file{1,2,3}
cd secret_name/
# Now create the archive
( shopt -s extglob; mkdir archive && cp -al !(archive) archive/ && zip -r archive.zip archive; rm -rf archive )
# List the archive
unzip -l archive.zip
Archive: archive.zip
Length Date Time Name
--------- ---------- ----- ----
0 2020-10-16 19:21 archive/
0 2020-10-16 19:12 archive/file2
0 2020-10-16 19:12 archive/file3
0 2020-10-16 19:12 archive/file1
--------- -------
0 4 files
Также это работает с использованием символической ссылки без копирования файлов.
> ls old_parent/
file1 file2
> ln -s old_parent new_parent
> zip -r archive.zip new_parent
adding: new_parent/ (stored 0%)
adding: new_parent/file2 (deflated 22%)
adding: new_parent/file1 (deflated 38%)
> unzip -l archive.zip
Archive: archive.zip
Length Date Time Name
--------- ---------- ----- ----
0 2020-10-16 22:48 new_parent/
50 2020-10-14 08:18 new_parent/file2
348 2020-10-16 13:58 new_parent/file1
--------- -------
398 3 files
> rm new_parent