forked from ungleich-public/cdist
80 lines
1.3 KiB
Bash
80 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"
|