I have my RPI2 deployed as a receiver at remote location which is intended to be forever on. But after some 20-30 hours, it goes into some mode with just red light turned on(no green light blinking) and network shows host is down. The only solution is to manually turn off the power and turn it on. Is some solution possible so that my RPI stays on forever on and if it goes into that mode, it resets itself on its own without any Human interaction? (Please provide some simple solution as I am a newbie)
The conventional solution to this problem (as others have pointed out) is a Watchdog. There is a watchdog daemon, which you can install, but no one can design it for you, as this depends on what application you are running. Try reading its documentation.
You would probably be better to use a simple external timer (any solution which relies on software alone is inherently unreliable). This can be as simple as a 555 timer, which resets the Pi if not triggered regularly. I believe there are commercial modules available.
If you look through past issues of The MagPi you will find a case study (Project Curacao) which is instructive.
Designing and deploying a remote RPi mandates that there is a clear solid reliable communication channel available for managing it. Everything depends on how much free time is available to the RPi to perform self management.There are many simple solutions like clearing the logs, scheduled reboots, ensuring it can connect to the managing station and so on to reasonably keep its uptime high.
watchdog is a daemon meant to help in such situations. Its configuration allows several different types of watching itself. It does not imply the device will restart itself if it is completely down - it cannot unless it goes through the sequence as you rightly describe to get it back. watchdog helps before it reaches an unusable state
Overclocked maybe? Same thing happened to me, finetuned the overclocking a bit, now it's running fine. YMMV.
As for the watchdog, I've deployed that too. Tricky to get it working because the documentation/man page is not so easy to read. One thing that caught me for instance was that the documentation seems to assume the watchdog has a timeout of about 25 seconds, which the BCM does not. It has only 16 seconds.
An interval of 1 (the default) seems a bit quick, and is problematic when using using the ping test feature. Why? Because (ping-count*2) < interval needs to be true, otherwise the ping test will fail, your network interface is considered inop, and a watchdog timeout will reset the Pi.
These are the kind of details you'll have to work through when setting up the watchdog. It's smart to have a Pi on your workbench when trying out watchdog setups, and have a script ready to go on the Pi to 'keep the in its shed' on reboot, so to speak.