mirror of
https://github.com/samuelncui/yatm.git
synced 2026-01-05 04:55:23 +00:00
46 lines
1020 B
Bash
Executable File
46 lines
1020 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e;
|
|
|
|
POSITIONAL_ARGS=()
|
|
DEVICE="/dev/nst0"
|
|
SG_DEVICE=`sg_map | grep ${DEVICE} | awk '{print $1}'`
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case $1 in
|
|
-s)
|
|
BARCODE="$2"
|
|
shift # past argument
|
|
shift # past value
|
|
;;
|
|
-n)
|
|
NAME="$2"
|
|
shift # past argument
|
|
shift # past value
|
|
;;
|
|
-*|--*)
|
|
echo "Unknown option $1"
|
|
exit 1
|
|
;;
|
|
*)
|
|
POSITIONAL_ARGS+=("$1") # save positional arg
|
|
shift # past argument
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo "format tape as number '$BARCODE', name '$NAME'"
|
|
echo "copy '${POSITIONAL_ARGS[@]}' to tape"
|
|
set -- "${POSITIONAL_ARGS[@]}"
|
|
|
|
set -ex;
|
|
|
|
stenc -f ${DEVICE} -e on -k /root/tape.key -a 1 --ckod
|
|
sleep 3
|
|
mkltfs -f -d ${SG_DEVICE} -s $BARCODE -n $NAME
|
|
sleep 3
|
|
ltfs -o devname=${SG_DEVICE} -o noatime -o sync_type=unmount -o work_directory=/opt/ltfs -o capture_index -o min_pool_size=256 -o max_pool_size=1024 -o eject /ltfs
|
|
sleep 3
|
|
acp --report /opt/ltfs/$BARCODE.json --to-linear $@ /ltfs/
|
|
sleep 3
|
|
umount /ltfs
|