dtrfs/install.sh

44 lines
986 B
Bash
Executable File

#!/bin/bash
cd -- "$( dirname -- "${BASH_SOURCE[0]}" )"
dir="/tmp/dtrfs"
if [ -z $1 ]; then
echo "You must specify the server as the first parameter."
echo "Example: ./install.sh 10.10.10.73 root 22"
echo "The 2nd (ssh user) and 3rd (ssh port) arguments are optional."
exit 1
fi
server="$1"
scp_server="$1"
echo $1 | grep -F ':' > /dev/null && scp_server="[${1}]"
if ! [ -z $2 ]; then
server="${2}@${server}"
echo $1 | grep -F ':' > /dev/null && scp_server="${2}@${scp_server}"
fi
if [ -z $3 ]; then
ssh="ssh"
scp="scp"
else
ssh="ssh -p $3"
scp="scp -P $3"
fi
set -e
mkdir -p tmp
tar cf tmp/dtrfs.tar *.sh
$ssh $server rm -rf ${dir}
$ssh $server mkdir -p ${dir}
$scp tmp/dtrfs.tar ${scp_server}:${dir}
$ssh $server tar -xf ${dir}/dtrfs.tar -C ${dir}
$ssh $server GRAB_LOCAL_MODS=YES ${dir}/create.sh
archive=$($ssh $server cat ${dir}/build/.archive_name)
$scp ${scp_server}:${dir}/build/${archive} tmp/
echo
echo initrd downloaded to: $(pwd)/tmp/${archive}