Debian sample iptables configuration script

#!/bin/sh

IPT="/sbin/iptables"

# Flush old rules, old custom tables
$IPT --flush
$IPT --delete-chain

# Set default policies for all three default chains
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT

# Enable free use of loopback interfaces
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

# All TCP sessions should begin with SYN
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -s 0.0.0.0/0 -j DROP

# Accept inbound TCP packets
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


# SSH
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

# HTTP
$IPT -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

Iptables Script Generator: http://www.mista.nu/iptables/

Automatically loading iptables rules

nano /etc/network/if-up.d/iptables
# copy script in file
chmod +x /etc/network/if-up.d/iptables

Source: http://rackerhacker.com/2009/11/16/automatically-loading-iptables-on-debianubuntu/

Fast install with autoloading

wget /uploads/iptables -O /etc/network/if-up.d/iptables

chmod +x /etc/network/if-up.d/iptables

/etc/network/if-up.d/iptables

Script bash pour exporter vos bases mysql dans des fichiers séparés

Avec la commande mysqldump, il est possible d’exporter toutes ses bases mysql en une seule ligne, seul soucis les bases de données sont compresser dans un seul et unique fichier .gz, c’est pas très pratique pour retrouver la base à restaurer en cas de problème.

Voici donc comment avoir un fichier par database :

for database in `mysql -N -u $DBUSER --password=$DBPASSWD -e 'SHOW DATABASES;' | cat`; do
 if [ $database != "information_schema" ]; then
  mysqldump --databases $database -u $DBUSER --password=$DBPASSWD --lock-tables | gzip -c > /home/alexis/backup/mysql/`date +%F`-$database.sql.gz
 fi
done

Debian FTP Upload en ligne de commande

Installation de ncftp

apt-get install ncftp

Envoyer un fichier en une ligne avec la commande ncftpput

ncftpput -m -u $USERNAME -p $PASSWORD $FTPADDRESS /remote/path/ /local/path/filename.sql.gz

Avec la commande ftp (installer par défaut)

ftp -n $FTPADDRESS <<EOF
user $USERNAME $PASSWORD
binary
put /remote/path/filename.sql.gz /local/path/filename.sql.gz
bye
EOF

Avec lftp sur CensOS

lftp -u $USERNAME,$PASSWORD -e "mkdir /remote/path/new; cd /remote/path/new/; mput /local/path/old/*; quit" $FTPADDRESS

Debian mySQL import et dump en ligne de commande

Importation

# Décompresser un fichier .gz
gzip -d fichier.sql.gz

# Import dans la base
mysql -u root -p -b MYDATABASE < /var/www/fichier.sql

Dump SQL dans un seul fichier compressé

# Exporter toutes les bases
mysqldump --all-databases --user=root --password=MYPASS --lock-tables | gzip -c > /root/database/`date +%F`.sql.gz

# Exporter une seule base
mysqldump --databases MYDATABASE --user=root --password=MYPASS --lock-tables | gzip -c > /root/db-` date +%F`.sql.gz