Code: How to reboot TP-Link Router

TP-Link router may need to be occasionally rebooted as it sometimes hangs in my experience. Here is a script I developed long back to boot such errant server from command line:

wget -qO- --user=admin --password=admin-password http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=Reboot

Notes:

  • You will need wget installed on your system.
  • You may need to change the IP Address and Password.

If you want (let me know) I can give the script to check periodically and reboot TP-Link Router as needed.

BitBucket vs. GitHub vs. ProjectLocker: Where would you setup your closed source project for free and why

Each of the Source Code repositories come with a free tier but each has their own restrictions

BitBucket from Atlassian is free for small team up to 5 users or you can self-host for up to 10 members for one time fee of 10$. With the free plan in cloud, you can have unlimited public and private repositories.

GitHub doesn’t allow private repositories at this time. While you may host closed source project there, I wouldn’t recommend it.

ProjectLocker provider a free tier: 1 user, 1 project and up to 50 MB of storage.

All three supports Git which is probably the most widely used Source Control system these days.

Of the three BitBucket stands out in hosting closed source private repositories for free. Overall their pricing is most lucrative in the long run.
GitHub, while not free, has the most traction.

Mini-Story: Deathly Silence of Linux (after rm -rf /*)

Silence of Linux (after rm -rf /* )

To be fair, rm -rf /* was taking way too long with several millions of files in deep hierarchy. So I ran Delete (Java based recursive File & Directory Delete Tool).

Finally all data that could be deleted was deleted. I could’ve run shred, I could’ve run dd on the drive itself ( dd if=/dev/urandom of=/dev/sda ), I chose the simpler path.
-bash-3.2# clear
-bash: /usr/bin/clear: No such file or directory
-bash-3.2# ls
-bash: /bin/ls: No such file or directory
-bash-3.2# echo *
boot dev media misc net proc sys var
-bash-3.2# echo boot/*
boot/*
-bash-3.2# echo dev/*
dev/initctl dev/pts dev/shm
-bash-3.2# echo misc/*
misc/*
-bash-3.2# echo net/*
net/*
-bash-3.2# echo net/*
net/*

Only one thing left to do:

-bash-3.2# reboot
-bash: reboot: command not found

I still have the final weapon:

-bash-3.2# echo 1 > /proc/sys/kernel/sysrq
-bash-3.2# echo b > /proc/sysrq-trigger

This is pretty much the same as pressing the reset button on the server (if equipped). No daemons will be shut down gracefully, no filesystem sync will occur, and you may get the wrath of a fsck (or worse, a non-booting server) upon reboot. But what do I care?

R.I.P.