I am creating this post mostly for my own reference in future , the scenario is that my ISP gives me a free PPPOE username and password with unlimited traffic to download between 3am-7am and I didn’t want to keep my desktop PC up and running on midnights , so I thought I can make my dreambox which is always on an automatic midnight super downloader and after 24 hours of work , I accomplished it.
1.Create a file named “dl” containing the commands to download files in /media/sda (where flash disk is mounted) , format of file is :
wget -q -c "ftp://user:pass@ftphost/filename1" & wget -q -c "ftp://user:pass@ftphost/filename2" & ....
2.make it executable :
chmod +x /media/sda/dl
3.edit /etc/ppp/ip-up and add the following to the end of file :
cd /media/sda /media/sda/dl echo "`date` : PPPD IP-UP" >> /media/sda/dl.log
4.edit /etc/ppp/ip-down and add the following to the end of file :
killall wget echo "`date` : PPPD IP-DOWN" >> /media/sda/dl.log
ip-up is automatically called when PPP connection is established. it starts all downloads automatically.
ip-down is automatically called when PPP connection is disconnected. it stops all downloads automatically.
5.Create monitor-pppd in /media/sda and put the following inside it ( also make it executable ) :
if [ ! -e "/proc/sys/net/ipv4/conf/ppp0" ]; then echo "`date` : restarting pppd" >> /media/sda/dl.log killall pppd pppd plugin rp-pppoe.so eth0 user USERNAME password PASSWORD noauth defaultroute replacedefaultroute fi
6.create a cron job by creating a file named root inside /etc/cron/crontabs folder and paste the following inside it :
* 3,4,5,6 * * * /media/sda/monitor-pppd
and restart the cron daemon by calling :
/usr/script/crond_script.sh restart
the cron daemon will establish the PPPOE connection automatically and monitor-ppd will monitor it.
don’t forget the time should be synchronized and timezone should be set correctly.