Compare commits
5 Commits
ff54e1e74a
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d8d23ab2ff | |||
| 5707dc659a | |||
| 819abd9d24 | |||
| 1e73ad7590 | |||
| 6d1c2172ab |
19
Readme.md
Normal file
19
Readme.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# CLI for Atempo Miria tape archive
|
||||||
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
||||||
|
|
||||||
|
Command line tools to interact with an Atempo Miria tape archive.
|
||||||
|
All commands rely on the Miria Webservices API, and assume that the user
|
||||||
|
has a `.miria` file in their home directory following the template
|
||||||
|
```
|
||||||
|
url <url>
|
||||||
|
agent <hostname>
|
||||||
|
```
|
||||||
|
where `<url>` is the API URL generated with
|
||||||
|
```
|
||||||
|
ada_service -build_url | -build_url_s -identity <user>:<password>
|
||||||
|
```
|
||||||
|
(e.g. `http://adadoc:85/meta/BD117E7D5CF0912AEA17B4DF33D63F7E/721b766531/ADA/WS`)
|
||||||
|
and `<hostname>` is the host name of the Miria agent mounting the local
|
||||||
|
filesystem.
|
||||||
|
|
||||||
|
*It is strongly recommended to have the `.miria` file with mode 640 or 600 since the URL allows control of the archive without additional authentication.*
|
||||||
12
functions.sh
12
functions.sh
@@ -111,6 +111,18 @@ miria_xml_get_string() {
|
|||||||
echo "${xml}" | xmllint --xpath "string(${xpath})" -
|
echo "${xml}" | xmllint --xpath "string(${xpath})" -
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# Get XML string(s) from last answer
|
||||||
|
#
|
||||||
|
# Arguments:
|
||||||
|
# XPath of string
|
||||||
|
#######################################
|
||||||
|
miria_last_get_string() {
|
||||||
|
local xpath="$1"
|
||||||
|
|
||||||
|
miria_xml_get_string "${miria_last_xml}" "//${xpath}"
|
||||||
|
}
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Get XML attribute value(s)
|
# Get XML attribute value(s)
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -35,4 +35,4 @@ cmd="$1"
|
|||||||
shift
|
shift
|
||||||
miria_api_error_fatal='false'
|
miria_api_error_fatal='false'
|
||||||
miria_api_cmd "${cmd}" "$@"
|
miria_api_cmd "${cmd}" "$@"
|
||||||
echo ${miria_last_xml} | xmllint --format -
|
echo "${miria_last_xml}"
|
||||||
|
|||||||
38
miria-info
Executable file
38
miria-info
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
################################################################################
|
||||||
|
# Copyright 2022 Antonin Portelli
|
||||||
|
#
|
||||||
|
# This file is part of miria-cli.
|
||||||
|
#
|
||||||
|
# miria-cli is free software: you can redistribute it and/or modify it under
|
||||||
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
|
# Foundation, either version 3 of the License, or (at your option) any
|
||||||
|
# later version.
|
||||||
|
#
|
||||||
|
# miria-cli is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with
|
||||||
|
# miria-cli. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -uoe pipefail
|
||||||
|
|
||||||
|
script_dir=$(dirname $(readlink -f $0))
|
||||||
|
source ${script_dir}/functions.sh
|
||||||
|
hash="$(cd ${script_dir}; git rev-parse --short HEAD)"
|
||||||
|
branch="$(cd ${script_dir}; git rev-parse --abbrev-ref HEAD)"
|
||||||
|
status="$(git diff --quiet || echo '(dirty)')"
|
||||||
|
miria_get_url
|
||||||
|
echo "Miria CLI ${branch}@${hash} ${status}"
|
||||||
|
echo 'Copyright 2022 Antonin Portelli'
|
||||||
|
echo 'GNU General Public License v3'
|
||||||
|
echo ''
|
||||||
|
echo '-- Server info -------------'
|
||||||
|
miria_api_cmd getServerInfo
|
||||||
|
printf '%s:%s\n' "$(miria_last_get_string '//SERVER_NAME')" \
|
||||||
|
"$(miria_last_get_string '//SERVER_PORT')"
|
||||||
|
miria_last_get_string '//TPE'
|
||||||
|
miria_last_get_string '//ADA'
|
||||||
|
echo '----------------------------'
|
||||||
Reference in New Issue
Block a user