Я создаю сценарий с помощью команды tcopy для сравнения (q c) моих файлов на ленте и на диске. но этот скрипт не работает так, как я хочу, я был бы рад, что кто-то может импровизировать этот скрипт, чтобы он заработал.
#!/bin/bash
drv=/dev/st0
echo -n "no.y files on tape ... : "
total_files=`mt -f $drv eod; mt -f $drv status | grep "File number=" | awk -F"=" '{print $2}' | awk -F"," '{print $1}'`
echo "$total_files"
mt -f $drv rewind
for i in `seq 0 $total_files`;do
printf -v i '%04d' $i
echo -n --- "file${i}" -
tcopy $drv
stat=$?
echo "status-$stat : `date`"
done
Вывод:
scan no. files on tape ... : 41
--- file0000 -file 0: block size 65536: 1 records
file 0: eof after 1 records: 65536 bytes
file 1: block size 65536: 771 records
file 1: eof after 771 records: 50528256 bytes
file 2: block size 65536: 762 records
file 2: eof after 762 records: 49938432 bytes
file 3: block size 65536: 1852 records
file 3: eof after 1852 records: 121372672 bytes
...
file 35: block size 65536: 1761 records
file 35: eof after 1761 records: 115408896 bytes
file 36: block size 65536: 1 records
file 36: eof after 1 records: 65536 bytes
file 37: block size 65536: 1 records
file 37: eof after 1 records: 65536 bytes
eot
total length: 2946433024 bytes
status-0 : Sat Apr 11 14:22:26 SGT 2020
my Предположим, что результат должен быть примерно таким:
scan no. files on tape ... : 41
--- file0000 - file 0: block size 65536: 1 records ... eof after 1 records: 65536 bytes
--- file0001 - file 1: block size 65536: 771 records ... eof after 771 records: 50528256 bytes