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"
 |