git: User was holding a relation lock for too long

Screen Shot 2016-06-16 at 10.06.11 AM
If you encountered this error while pushing your recent change to your git repo, worry not. You’re not alone. Just recently, like a few minutes ago, I’m having trouble pushing my latest commit to my Bitbucket repo. Good thing I found out that it’s just a bitbucket issue, not really an issue with my repo or with my server or with my localhost.

Below is the exact error I’m getting while trying to push my latest commits:
remote: canceling statement due to conflict with recovery
remote: LINE 1: …er”.”date_joined” FROM “bb_repository” INNER JOIN “auth_user…
remote: DETAIL:  User was holding a relation lock for too long.
! [remote rejected] master -> master (pre-receive hook declined)

I actually tried pushing it again and again, switch branches, cloned a new repo, but no can do. Nothing I tried worked, it’s because Bitbucket is having issues, not me. Haha!

Let’s just wait for Bitbucket to fix the issue and not panic.

Transfer files from a specific directory using wget via SSH

If you want to transfer files from one server to another in less than a few minutes or in seconds (1GB file or lower), then use wget via SSH. I’ve been using this since I was born and I would like to share it to everyone who’s not using it yet. You can transfer a zip files or many files in one directory level, or the entire directory and its sub directories.
The image above is a screenshot of how fast I downloaded the files from a remote server to my new server. 4.5GB in 7 minutes! Not bad huh?
Continue reading “Transfer files from a specific directory using wget via SSH”

Zip files via SSH and copy it to another folder or server

If you files and directories in your server via SSH, just type the command below:
zip -r folder

Just replace the folder with the folder name you are targetting or use * if your currently in the folder.

If you want to quickly zip all files and folders individually in your server via SSH, just type the command below:
find . -type f -exec zip '{}.zip' '{}' \;

Replace the dot after “find” to zip the specific folder and all files and folders inside it.

If you want to Tar.gz instead of .ZIP, you can use the command below:
tar -cvzf filename.tar.gz /home/path

Now, to copy the zip file or files in a folder to another folder, use the command below:
cp /home/user1/public_html/*.* /home/user2/public_html

Just replace the user1 and user2 respectively. Or just specify which folder you want to copy your zip file.

If you want to copy all the files inside a folder and the files and folders inside the folder of a folder (sub folder, sub-sub folder, sub-sub-sub folder, and so on), then use the command below:
cp -r /home/user1/public_html/*.* /home/user2/public_html/

If you want to copy the files or folder to another server, use the command below:
scp -r /home/user/public_html/*.* user@serverip:/home/user/public_html/

Just replace the server IP with your IP or domain. You will enter a password after typing the command

Whitelist an IP address in your server via SSH

One day, one of my blog readers can’t access my site. I wondered why and how come she can’t access it but I can. I also asked other readers, and they can. If this happens to you, just like what happened to me, maybe that specific user was blacklisted by your host.

In order for him or her to access your site again, you need to whitelist his or her IP. So the first thing that you should do is ask his IP address, then whitelist it in your server. To white list an IP address, you need to type the following command via SSH:
csf -a IP /etc/init.d/csf restart

Just replace the IP with the actual IP address. For example you want to white list, just type the command
csf -a /etc/init.d/csf restart

To see the white listed IPs you could use the command,
grep IP /etc/csf/csf.allow

I think this is not applicable to all server. I’m using CentOS 5.0 with suPHP as my PHP handler. If your server configuration is different, ask you host first if your not familiar with SSH commands.