Я пытаюсь создать архив tar, используя опцию - C. Я также использую $ (ls), чтобы убедиться, что tar не жалуется на отсутствующие файлы.
Я вижу странное поведение, когда команда работает при запуске из одних путей, а не из других. Я не могу объяснить это.
- Что я хочу смолить: /opt/server/nginx/etc/nginx/nginx.conf
- [В этом случае файл присутствует].
- Я не хочу сохранять полный путь, поэтому я использую - C / opt / server / nginx / etc / nginx
- / tmp / backup / папка присутствует.
Ошибка:
(venv) root@bhakta-at-host-1:/opt/server/agent# cd /root
(venv) root@bhakta-at-host-1:~# tar -cvzf /tmp/backup/NginxServer_cfg_save.tgz -C /opt/server/nginx/etc/nginx/ $(ls -d nginx.conf)
ls: cannot access 'nginx.conf': No such file or directory
tar: Cowardly refusing to create an empty archive
Try 'tar --help' or 'tar --usage' for more information.
(venv) root@bhakta-at-host-1:~#
(venv) root@bhakta-at-host-1:~#
Ошибка:
(venv) root@bhakta-at-host-1:/tmp# cd /var/tmp
(venv) root@bhakta-at-host-1:/var/tmp# tar -cvzf /tmp/backup/NginxServer_cfg_save.tgz -C /opt/server/nginx/etc/nginx/ $(ls -d nginx.conf)
ls: cannot access 'nginx.conf': No such file or directory
tar: Cowardly refusing to create an empty archive
Try 'tar --help' or 'tar --usage' for more information.
(venv) root@bhakta-at-host-1:/var/tmp#
Работы:
(venv) root@bhakta-at-host-1:~# cd /tmp
(venv) root@bhakta-at-host-1:/tmp# tar -cvzf /tmp/backup/NginxServer_cfg_save.tgz -C /opt/server/nginx/etc/nginx/ $(ls -d nginx.conf)
nginx.conf
Работы:
(venv) root@bhakta-at-host-1:/opt/server/nginx/etc/nginx# tar -cvzf /tmp/backup/NginxServer_cfg_save.tgz -C /opt/server/nginx/etc/nginx/ $(ls -d nginx.conf)
nginx.conf
(venv) root@bhakta-at-host-1:/opt/server/nginx/etc/nginx#
Работы:
(venv) root@bhakta-at-host-1:/var/tmp# tar -cvzf /tmp/backup/NginxServer_cfg_save.tgz -C /opt/server/nginx/etc/nginx/ nginx.conf
nginx.conf
Так что здесь происходит? Похоже, что-то связано с - C и $ (ls)
Версии:
(venv) root@bhakta-at-host-1:/opt/server/nginx/etc/nginx# tar --version
tar (GNU tar) 1.29
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
(venv) root@bhakta-at-host-1:/opt/server/nginx/etc/nginx# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic