Skip to content

Instantly share code, notes, and snippets.

View rubenmromero's full-sized avatar
☁️
Focusing

Ruben Martin rubenmromero

☁️
Focusing
View GitHub Profile
@rubenmromero
rubenmromero / combinations.py
Last active May 5, 2019 23:55
Python :: Generate combinations recursively without repetitions and regardless of the order of elements
#!/usr/bin/env python
elements = [ '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70' ]
num_elements = len(elements)
combination_size=8
#
# genCombinations recursive Function
#
def genCombinations(combination, position):
@rubenmromero
rubenmromero / deploy.py
Last active May 5, 2019 23:52
Python :: Web service to deploy a repository on a server through a webhook
#!/usr/bin/env python
#
# Modules Import
#
import os, sys, shlex, subprocess
#
# Variables Definition
#
@rubenmromero
rubenmromero / rds_rotate_general_log.py
Last active May 5, 2019 23:51
Python :: Script to rotate the content of 'mysql.general_log' table to 'mysql.general_log_backup', by executing 'mysql.rds_rotate_general_log' stored procedure
#!/usr/bin/env python
#
# Modules Import
#
import mysql.connector
from mysql.connector import errorcode
#
# Variables Definition
@rubenmromero
rubenmromero / mysql_backup.sh
Last active October 21, 2018 11:03
Bash :: Create and rotate backups of all databases stored in MySQL
#!/bin/bash
#
# Variables Definition
#
BACKUPS_DIR=/var/backups/database
DUMP_REFIX=mysql_dump
DUMP_FILE=${BACKUPS_DIR}/${DUMP_REFIX}-$(/bin/date +%Y_%m_%d-%H_%M).sql
MYSQL_USER=<superuser>
MYSQL_PASSWD='<password>'
@rubenmromero
rubenmromero / iterate_example
Last active August 27, 2018 13:13
Python :: Iterate by lines a variable that contains strings spread over several lines getting words allocated in specific column (separated by spaces)
with cd(project_path):
result = sudo('git submodule status')
for submodule in result.stdout.splitlines():
application = submodule.split()[1]
deploy(application)
@rubenmromero
rubenmromero / clean_deploy.php
Created August 27, 2018 13:08
PHP :: Web service to clean and deploy a repository to which it belongs on a server through a webhook
<?php
//Deploy the current version from master branch of the project
$document_root = "<repository_root_folder>";
echo "Clean untracked files on server:";
$output = shell_exec("git clean -d --force $document_root 2>&1");
echo "<pre>$output</pre>";
echo "Revert modified files (not staged) on server...";
$output = shell_exec("git checkout -- $document_root 2>&1");
@rubenmromero
rubenmromero / VagrantBoxCleanerDebian.sh
Last active August 27, 2018 12:58 — forked from pedroamador/VagrantBoxCleanerDebian
Bash :: Vagrant Box Cleaner for Debian / Ubuntu
apt-get -y autoremove
apt-get clean
# Zero out the free space to save space in the final image:
dd if=/dev/zero of=/EMPTY bs=1M
rm -f /EMPTY
# Removing leftover leases and persistent rules
echo "cleaning up dhcp leases"
rm /var/lib/dhcp/*
@rubenmromero
rubenmromero / VagrantBoxCleanerCentOS.sh
Last active August 27, 2018 12:54 — forked from pedroamador/VagrantBOXCleanerCentos
Bash :: Vagrant Box Cleaner for CentOS / Red Hat
# Clear yum packages
yum clean all
# Zero out the free space to save space in the final image:
dd if=/dev/zero of=/EMPTY bs=1M
rm -f /EMPTY
# Removing leftover leases and persistent rules
echo "cleaning up dhcp leases"
rm -f /var/lib/dhclient/*
@rubenmromero
rubenmromero / pull_repos.sh
Last active February 19, 2018 23:24
Bash :: Pull changes from the origin (develop if it exists and master branches) to all Git repositories cloned in a workspace
#!/bin/bash
#
# Commands Definition
#
ECHO="echo -e"
TPUT_BOLD="tput bold"
TPUT_RED="tput setaf 1"
TPUT_OFF="tput sgr0"
@rubenmromero
rubenmromero / git_rm_large_files.sh
Created January 7, 2018 12:52
Bash :: Find and remove large files in Git history
#!/bin/bash
set -o verbose
# Checkout and pull in the local copy of all existing branches in the repository
for branch in $(git branch -a |grep remotes/origin |grep -v HEAD |sed "s/remotes\/origin\///g")
do
git checkout $branch
git pull
done