Thursday 28 May 2015

Regenerate authorized_keys file in GitLab

sudo gitlab-rake gitlab:shell:setup
To check your GitLab for issues:
sudo gitlab-rake gitlab:check RAILS_ENV=production

Tuesday 26 May 2015

Disk Usage - What's eating my disk space Perl script

#!/usr/bin/perl
use strict;
use IO::File;

my $size;
my $inode;
my $sum = 0;
my @entries;
my $e;
my $percent = 0;
my $remsum = 0;
my $counter = 0;
my $nofiles = 0;

my $du = new IO::File;

if (@ARGV) {
    chdir "$ARGV[0]" or die "cannot change to [ $ARGV[0] ]\n";
}

my $path =  $ARGV[0] . "/";
print "$path\n";
START:

$du->open("du -sk *|") or
    die "cannot open du program and pipe";

while (<$du>) {
    ($size, $inode)=split;
    $inode .= "/" if (-d $inode);
    $sum += $size;
    push @entries, { size => $size, inode => $inode };
}

@entries = sort { $b->{size} <=> $a->{size} } @entries;

$du->close;

foreach $e (@entries) {
    $percent = $e->{size}/$sum*100;

    if ($counter < 10) {
        printf(
            "%30s | %5d | %5.2f%%\n",
            $e->{inode},
            $e->{size},
            $percent);
    }
    else {
        $nofiles++;
        $remsum += $e->{size};
    }
    $counter++;
}

if ($remsum > 0) {
    printf(
        "%30s | %5d | %5.2f%%\n",
        "files",
        $remsum,
        $remsum/$sum*100);
}


if (@entries[0]->{inode} =~ /(.*\/$)/)
{
    $path .= $1;
    chdir $path;
    print "$path\n";
    undef @entries;
    $counter=0; $nofiles=0;
    goto START;
}
else
{
    print "No more!";
    exit;
}

Wednesday 20 May 2015

Port Bonding and VLAN - CentOS 6

Create the file /etc/modprobe.d/bonding.conf, add the following lines:
alias bond0 bonding
options bond0 mode=1 miimon=100
Create the bond file /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
BONDING_OPTS="miimon=100 mode=1"
TYPE=Unknown
IPV6INIT=no
Create the VLAN bond file /etc/sysconfig/network-scripts/ifcfg-bond0.35
DEVICE=bond0.35
BOOTPROTO=none
TYPE=Ethernet
ONBOOT=yes
VLAN=yes
NM_CONTROLLED=no
IPADDR=x.x.35.13
PREFIX=24
GATEWAY=x.x.35.250
NM_CONTOLLED=no
USERCTL=no
Edit the interface files ifcfg-em1 and ifcfg-em2:
DEVICE="em1"
BOOTPROTO="none"
HWADDR="xx:xx:xx:xx:xx:7A"
IPV6INIT="yes"
MTU="1500"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="90e968f4-xxxx-xxxx-xxxx-0a188c6cc9e8"
MASTER=bond0
SLAVE=yes
USERCTL=no
--------------------------------------------------------------------------
DEVICE=em2
HWADDR=xx:xx:xx:xx:xx:7C
TYPE=Ethernet
UUID=4bc7043a-xxxx-xxxx-xxxx-cd5f6f04e0f7
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no