The Balkans struggled with a growing backlog of migrants on Monday after Hungary sealed its southern border and Slovenia tried to impose a limit, leaving thousands stranded on cold, wet borders where tempers frayed.

Having declared it would accept only 2,500 per day, Slovenia said 5,000 had arrived from Croatia on Monday, with another 1,200 on their way by train.

“Croatia is ignoring our pleas, our plans,” Bostjan Sefic, state secretary at Slovenia's interior ministry, told newsmen, saying the army would be called in if such a rate continued.

Attempts by Slovenia to ration the flow since Hungary sealed its border with Croatia at midnight on Friday triggered a knock-on effect through the Balkans; Croatia began holding back new arrivals and Serbia said it may do the same on its border with Macedonia.

More than 10,000 were stranded in Serbia, the United Nations refugee agency said, with more on the way but nowhere to go. “It's like a big river of people, and if you stop the flow, you will have floods somewhere. That's what's happening now,” UNHCR spokesman Melita Sunjic said from the Serbia-Croatia border, where about 2,000 people were forced to wait in a muddy, rain-drenched no-man's land.

Groups of migrants fought with each other in the morning, aid workers said, after a night spent under open skies lashed by autumn wind and rain.

Slovenia has found itself dragged into the path of the greatest migration of people in Europe since World War II after Hungary sealed its border with Croatia to migrants on Friday.

A country of two million people bordering Hungary, Italy, Austria and Croatia, Slovenia said it would only allow in as many as it could register, accommodate and send on to Austria. It said Austria had limited its own intake, something Vienna denied. Most refugees want to reach Germany, which for the moment is letting them enter.