Nope, it's not a good practice. Better option is if you execute your batch class once from developer console and call the same batch again using a scheduler from Batch finish method. in start method, you can select all the records modified in specific time period and process them.
Hi NTP,
I think calling a batch from trigger is not a good practice. It can exceed limit of batch execution.