forked from ungleich-public/cdist
79 lines
1.3 KiB
Bash
79 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
num=50000
|
|
dsthost=localhost
|
|
|
|
tmp=$(mktemp -d)
|
|
remote_tmp=${tmp}-remote
|
|
|
|
cd "$tmp"
|
|
|
|
create_files() {
|
|
i=0
|
|
while [ $i -lt $num ]; do
|
|
echo $i > file-${i}
|
|
i=$((i+1))
|
|
done
|
|
}
|
|
|
|
delete_remote() {
|
|
ssh "${dsthost}" "rm -rf ${remote_tmp}"
|
|
}
|
|
|
|
|
|
tar_remote() {
|
|
cd "${tmp}"
|
|
tar c . | ssh "${dsthost}" "mkdir ${remote_tmp}; cd ${remote_tmp}; tar x"
|
|
}
|
|
|
|
cdist_remote()
|
|
{
|
|
(
|
|
while [ $i -lt $num ]; do
|
|
echo __file ${remote_tmp}/file-${i} --source "${tmp}/file-${i}"
|
|
i=$((i+1))
|
|
done
|
|
) | cdist config -i - -vv "${dsthost}"
|
|
|
|
}
|
|
|
|
cdist_remote_parallel()
|
|
{
|
|
(
|
|
while [ $i -lt $num ]; do
|
|
echo __file ${remote_tmp}/file-${i} --source "${tmp}/file-${i}"
|
|
i=$((i+1))
|
|
done
|
|
) | cdist config -j10 -i - -vv "${dsthost}"
|
|
|
|
}
|
|
|
|
echo "Creating ${num} files"
|
|
time create_files
|
|
|
|
echo "scping files"
|
|
time scp -r "${tmp}" "${dsthost}:$remote_tmp" >/dev/null
|
|
|
|
echo "delete remote"
|
|
time delete_remote
|
|
|
|
echo "taring files"
|
|
time tar_remote
|
|
|
|
echo "delete remote"
|
|
time delete_remote
|
|
|
|
echo "cdisting files"
|
|
time cdist_remote
|
|
|
|
echo "delete remote"
|
|
time delete_remote
|
|
|
|
echo "cdisting files (parallel)!"
|
|
time cdist_remote
|
|
|
|
echo "delete remote"
|
|
time delete_remote
|
|
|
|
echo "delete local"
|
|
rm -rf "$tmp"
|