calling a command in for loop every 1 minute calling a command in for loop every 1 minute unix unix

calling a command in for loop every 1 minute


You can use the sleep command to pause the execution of your loop for a minute and for the file name, adding "$i" variable to the name should be enough:

for ((i=1;i<=100;i++)); do     /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > "test_jar_${i}.txt"    # Sleep for a minute     sleep 60  done


Assuming a common Linux environment with bash, you could execute:

for i in $(seq 100 199) ; do echo "iteration $i" ; /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar data_test.jar config.properties > test_jar_$i.txt ; sleep 60 ; done


Why are you counting your loop from 1 if you are numbering your files from 100?

for ((i=100; i<200; i++)); do yourlongcommand > test_jar_$i.txt; sleep 1m; done