User Tools

Site Tools


Sidebar

code:linux

This is an old revision of the document!


Linux

SSH tunelování portů

ssh -A -fN -l username -L 2222:target_server:22 middle_server

RSYNC

Parametry: http://www.computerhope.com/unix/rsync.htm

Pro download ze serveru:

rsync -rzt --delete --chmod=a+rwx -e ssh username@target_server:relative_path_to_source/ ./ 

Přesun obsahu složky o úroveň výše

mv * .[^.]* ../

Kopie obsahu složky se zachováním práv a userů

cp -p -R ./* ./.[^.]* ../target/

Skript pro synchronizaci médií přes RSYNC

#!/bin/sh
usage() {
    echo "RSYNC for MEDIA in project <project_name>"
    echo ""
    echo "SSH-AGENT must be running"
    echo ""
    echo "usage: sync_media <user> <target_dir>"
    echo "example: sync_media tomas.marny ./media/"
}
 
ssh-add -l >/dev/null 2>&1
if [ $? = 2 ]; then
    # exit-status 2 = couldn't connect to ssh-agent
    echo -n "SSH-AGENT not active, please start SSH-AGENT before continue!"
    exit 1
fi
 
if [ $# -ne 2 ]; then
    usage
    exit 1
fi
 
rsync -rzvt --delete --perms --chmod=a+rwx -e ssh $1@<target_server>:<path_to_source_media> $2

Zjištění velikosti složky

-sh : s… size, h… human readable

du -sh ./slozka/

Výpis složky s řazením od největšího souboru/složky (limit na 10)

du --max-depth=1 -h . | sort -h -r | head -10

Zabalení dat pomocí TAR s udržením práv

ionice -c3 tar -pcf soubor.tar slozka/

Automatické spouštění SSH Agenta

V Systém > Upřesnit nastavení systému > Proměnné prostředí > Uživatelské proměnné… vytvořit nový záznam s názvem SSH_AUTH_SOCK a hodnotou /tmp/.ssh-socket

Přidat do .bashrc/.zshrc

# RUN SSH AGENT AT START ######################################################
ssh-add -l >/dev/null 2>&1
if [ $? = 2 ]; then
    # exit-status 2 = couldn't connect to ssh-agent
    rm -f $SSH_AUTH_SOCK
 
    echo -n "Starting SSH agent ... "
    eval `ssh-agent -a $SSH_AUTH_SOCK`
    eval `ssh-add`
else
    echo -n "SSH agent active"
    echo -e "\n"
fi
###

Změna hesla u SSH klíče

ssh-keygen -p -f ~/.ssh/id_dsa

Vyhledávání textu v souborech

GREP manuál

Výpis obsahu u souborů, které obsahují hledaný řetězec:

grep -rnw . -e "test.tezner.cz"

Vypsání souborů, které obsahují hledaný řetězec:

grep -rnw . -l -e "error_reporting(0);eval(base64_decode("

MySQL dump z command line

mysqldump -u <username> -p <db-name> | gzip > ../private/<db-name>.$(date +"%Y-%m-%d-%H%M").gz

MySQL import GZ dumpu z command line

zcat <filename>.sql.gz | mysql -u <username> -p <db-name>

Výpis 20 naposledy změněných souborů na FS v rámci adresáře

find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort -r | cut -f 2- -d ' ' | head -20

S možností vypustit z výsledku některé typy souborů (zde *.jpg):

find . ! -name '*.jpg' -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort -r | cut -f 2- -d ' ' | head -20

Pro více typů zopakovat celou konstrukci ! -name '*.html'

Výpis 20 největších souborů na FS v rámci adresáře

Vynechání některých souborů viz předchozí.

find . -type f -size +1M -printf "%s : %p\n" | sort -nr | head -20

Dávková změna práv na složkách a souborech

Viz http://superuser.com/a/91938

find ./ -type d -print0 | xargs -0 chmod 755  # folders
find ./ -type f -print0 | xargs -0 chmod 644  # files

Na Český hosting nutno použít toto:

find . -type d -exec chmod 750 {} +  # folders
find . -type f -exec chmod 640 {} +  # files

Kopie obsahu se zachováním práv

Viz http://unix.stackexchange.com/a/43608

cp -rp /source/dir /target/dir

Extract lines with patern from file

sed -nr '/213.55.184.184/p' apache-access.clean.log > apache-access.184.log

Find folders with 777 permissions

find . -type d -perm 0777
code/linux.1486229483.txt.gz · Last modified: 2017/02/04 18:31 by hansek