Tous les articles par nutcracker

Drobpox as a service

Installation

1 telechargement du paquet
cd ~
curl -Lo dropbox-linux-x86_64.tar.gz https://www.dropbox.com/download?plat=lnx.x86_64
sudo mkdir -p /opt/dropbox sudo tar xzfv dropbox-linux-x86_64.tar.gz –strip 1 -C /opt/dropbox

2 lancement du client dropbox
/opt/dropbox/dropboxd
se connecter au compte en ligne puis quitter
Ctrl-C

3 Mise en place du script de demarrage automatique
telechargement du script dans /etc/init.d
cd ~
sudo curl -o /etc/init.d/dropbox https://gist.githubusercontent.com/thisismitch/d0133d91452585ae2adc/raw/699e7909bdae922201b8069fde3011bbf2062048/dropbox

sudo chmod +x /etc/init.d/dropbox

4 creation du fichier dropbox avec ajout du compte systeme
sudo nano /etc/default/dropbox
DROPBOX_USERS= »compte1″

5 Demarrage du service dropbox et configuration du demarrage automatique
sudo service dropbox start
sudo update-rc.d dropbox defaults

AJOUT COMPTE SUPPLEMENTAIRE

lancement du client dropbox
/opt/dropbox/dropboxd

ajout du compte systeme dans le fichier dropbox
sudo nano /etc/default/dropbox
DROPBOX_USERS= »compte1 compte2″

sudo service dropbox restart

DECONNEXION D’UN COMPTE

sudo service dropbox stop

suppression du dossier dropbox
sudo rm -r ~/compte2/Dropbox

sudo service dropbox start

Integration Bootstrap dans wordpress

Dans le fichier function.php du theme, ajouter:

via CDN bootstrap

 function theme_styles() {

 wp_enqueue_style( 'bootstrap_css', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css' );
 wp_enqueue_style( 'main_css', get_template_directory_uri() . '/style.css' );

 }

 add_action( 'wp_enqueue_scripts', 'theme_styles');

 function theme_js() {

 global $wp_scripts;

 wp_enqueue_script( 'bootstrap_js', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js');
 wp_enqueue_script( 'my_custom_js', get_template_directory_uri() . '/js/scripts.js');

 }

 add_action( 'wp_enqueue_scripts', 'theme_js');

integre au theme

 function theme_styles() {

 wp_enqueue_style( 'bootstrap_css', get_template_directory_uri() . '/css/bootstrap-3.3.7.css' );
 wp_enqueue_style( 'main_css', get_template_directory_uri() . '/style.css' );

 }

 add_action( 'wp_enqueue_scripts', 'theme_styles');

 function theme_js() {

 global $wp_scripts;

 wp_enqueue_script( 'bootstrap_js', get_template_directory_uri() . '/js/bootstrap.min.js' );
 wp_enqueue_script( 'my_custom_js', get_template_directory_uri() . '/js/scripts.js');

 }

 add_action( 'wp_enqueue_scripts', 'theme_js'); 

SED

  • supprime ligne vide
    $ sed -e ’/ˆ *$/d’ fichier

  • ajout d’interligne
    sed ‘G’ mytext.txt

  • imprime les lignes entre 2 et 4 ( ; et)
    $ sed –n ‘2,4p‘ mytext.txt

REGEX

  • supprime les commentaires
    sed ‘/^#/d’ test.txt

  • supprime les commentaires et les lignes avec delimiteurs
    sed ‘/^#/d;/_/d’ test.txt

  • supprime la 1ere ligne et commentaires
    sed ‘1d;/^#/d’ test.txt

TRANSLITERATION

  • enleve accents
    sed ‘y/éèêë/eeee/’

  • grouper les commandes cibles sur ligne 2 ete 6
    sed ‘2,6 {y/éèê/eee/;s/Dupond/Dupont/g}’ fichier.txt

  • substitution (g toutes les occurences)
    sed ‘s/dupont/DUPONT/g’ mytext.txt

RENOMMER DES FICHIERS

     parcours les noms des fichiers
     for f in *.avi;
     //substituer dans variable FileNew
     do FileNew=`echo $f|sed ‘s/-/_/g’`;
     //Change $f par $FileNew
     mv « $f » « $FileNew »; done

Modifier du texte dans plusieurs fichiers à la fois

     for f in *.php;
     do sed –i –e ‘s/ancienne-adresse/nouvelle-adresse/’ « $f »; done
  • conserve les anciens fichiers .php.bak

    for f in *.php; do sed –i.bak –e ‘s/ancienne-adresse/nouvelle-adresse/’ « $f »; done
    
  • redirection dans nouveau dossier

    for f in *.php; do sed ‘s/ancienne-adresse/nouvelle-adresse/’ « $f » > new/« $f »; done
    

Git Github

Logiciels de gestion de version
Modèle distribué : toutes les machines ont accès à la base de code, pas besoin de passer par un serveur central.
differe du Modèle centralisé : un serveur central contrôle toute la base de code du logiciel : SVN, CV

installation

apt-get install git

Commit gestion des versions

1 creer un dossier du projet
     mkdir gitrepo
2 activer un dossier comme repository Git
se placer dans le dossier
     git init
3 indexation des fichiers
     git checkout SHADuCommit
     git add nomDeVotreFichier.extension
 ou
     git add 
4.enregistrer le repo apres modification

modifier le message
     git commit -m “description des modifs”
     git commit —amend -m “Votre nouveau message”
lister les commits realises
     git log

 

Mettre a jour les fichiers deja indexes dans le repo
     git -a -m “description”
positionner sur un commit donné
     git checkout SHAcommit

 

revenir à votre branche principale (au commit le plus récent)
     git checkout master
syncro repo local vers compte github
« Envoie mes modifs dans la branche master de mon remote origin. »
git push origin master
verifier la methode de connexion git remote -v
switcher de url vers ssh
git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
indexation des fichiers (si ajout de nouveaux fichiers dans le repo)
 
 
git add .
 
enregistrer le repo
 
lister les commits
git commit -m "description"
 
git log
syncro du repo local sur github
 
 
 
 
verifier les ref
git push origin master
 
error: src refspec mater does not match any.
 
git show-ref
git push origin HEAD:<remoteBranch>
git push origin HEAD:master

TermRecord

TermRecord permet d’enregistrer la séquence terminal dans un fichier html

installation python et pip (Pip est un système de gestion de paquets utilisé pour installer et gérer des librairies écrites en Python. Pip empêche les installations partielles en annonçant toutes les exigences avant l’installation)

sudo apt-get install python-pip

*installation TermRecord

sudo pip install TermRecord

*lancement d ‘un enregistrement

TermRecord -o /tmp/session.html

Markdown

 

-Editeur en ligne
https://markable.in/

-Extension navigateur markdown-here
https://addons.mozilla.org/en-US/firefox/addon/markdown-here/

-Langages pris en charge:
ex: ```ruby    code   ```

https://github.com/github/linguist/blob/master/lib/linguist/languages.yml

 

 

Rappel linux

Canaux

stdin 0
stdout 1
stderr 2
>& redirige les 2 canaux de sortie dans un seule fichier

cmd 2>error.log
ls -l >resultat.txt 2>&1

exec ouverture des canaux 3 a 9
exec 3>dump.log
ls -l >&3
tout redirection dans canal 3 sera ecrit dans fichier dump.log

exec 3>&-
fermeture  du canal

—————————————————————————-

!! //Rappel de la dernière commande
!23 //La 23ème commande
!-2 //L'avant-dernière commande
!?profile //La dernière commande contenant le mot "profile"

—————————————————————————————

6 consoles virtuelles, dont l’accès depuis l’interface graphique se fait avec les combinaisons de touches suivantes Ctrl+ALT+Fn ou
n est un chiffre de 1 à 6.

Depuis une console virtuelle, vous pouvez passer dans une autre avec la combinaison ALT+Fn, (avec n de 1 à 6).
Pour revenir en mode graphique depuis une console virtuelle, faites ALT+F7.
————————————————————————————–

Make :
Error 127
means one of two things:

  1. file not found: the path you’re using is incorrect. double check that the program is actually in your $PATH, or in this case, the relative path is correct — remember that the current working directory for a random terminal might not be the same for the IDE you’re using. it might be better to just use an absolute path instead.
  2. ldso is not found: you’re using a pre-compiled binary and it wants an interpreter that isn’t on your system. maybe you’re using an x86_64 (64-bit) distro, but the prebuilt is for x86 (32-bit). you can determine whether this is the answer by opening a terminal and attempting to execute it directly. or by running file -L on /bin/sh (to get your default/native format) and on the compiler itself (to see what format it is).

if the problem is (2), then you can solve it in a few diff ways:

  1. get a better binary. talk to the vendor that gave you the toolchain and ask them for one that doesn’t suck.
  2. see if your distro can install the multilib set of files. most x86_64 64-bit distros allow you to install x86 32-bit libraries in parallel.
  3. build your own cross-compiler using something like crosstool-ng.
  4. you could switch between an x86_64 & x86 install, but that seems a bit drastic ;).

Veeam agent linux sur ubuntu

1-Installation de l’agent veeam linux

 dpkg -i ./veeam-release* && apt-get update

2-creation du repertoire backup

 veeamconfig repository create --name Backup --location /media/data/test

lister les repertoires backup

 veeamconfig repository list 

Name ID Location Type Backup server
Backup {4939770e-9ab9-40e7-9998-bac778484078} /media/data/test local

2-Creation job filelevel

 veeamconfig job create filelevel --name jobtest1 --reponame Backup --includedirs /home/test/Documents 
 Job has been created successfully.

Info sur le job

 veeamconfig job info --name jobtest1 

Backup job
ID: {edc9a98f-06f0-4d0d-972b-716aa3027325}
Name: jobtest1
Repository ID: {4939770e-9ab9-40e7-9998-bac778484078}
Repository name: Backup
Creation time: 2017-12-13 08:49:06
Options:
Compression: Lz4
Max Points: 14
File system indexing is disabled
Objects for backup:
Include Directory: /home/test/Documents

Demarrage du job

 veeamconfig job start --name jobtest1 

Backup job has been started.
Session ID: [{6050632c-a0c1-46f7-837c-44599a7659ee}].
Logs stored in: [/var/log/veeam/Backup/jobtest1/Session20171213_085051{6050632
c-a0c1-46f7-837c-44599a7659ee}]

voir backup

 veeamconfig backup list 

Job name Backup ID Repository Created at
Predator-G3600 jobtest1 {64b90e30-a5b7-453f-ab05-f9a608269a96} Backup 2017-12-13 08:50

 veeamconfig backup show --id 64b90e30-a5b7-453f-ab05-f9a608269a96} 

Machine name: Predator-G3600 jobtest1
File-level backup
Backed up: /home/test/Documents

MONTAGE BACKUP

 veeamconfig backup mount --id 64b90e30-a5b7-453f-ab05-f9a608269a96 --mountdir /mnt/backup

Backup has been mounted.
Session ID: [{2e8ce07e-c0f9-4b3f-9e17-399e1924bee1}].
Logs stored in: [/var/log/veeam/Mount/Session20171213_090000{2e8ce07e-c0f9-4b3f-9e17-399e1924bee1}].

 ls -la /mnt/backup/FileLevelBackup_0/ 

total 28
drwxr-xr-x 4 root root 4096 déc. 13 08:51 .
drwxr-xr-x 3 root root 4096 déc. 13 09:00 ..
drwxr-xr-x 3 root root 4096 déc. 12 21:47 home
drwx——— 2 root root 16384 déc. 13 08:51 lost+found

EXPORT VHD d’un volume sauvegardé

 veeamconfig backup export --id 64b90e30-a5b7-453f-ab05-f9a608269a96 --outdir /media/DiskData/veeamvhd 

Export has been started.
Session ID: [{9f9c8425-7fc8-4dbb-bd25-844c0bf0aad8}].
Logs stored in: [/var/log/veeam/Export/Session20171213_090754{9f9c8425-7fc8-4dbb-bd25-844c0bf0aad8}].

voir process export

 veeamconfig session log --id 9f9c8425-7fc8-4dbb-bd25-844c0bf0aad8

Altaro VM backup

SYSTEM REQUIREMENTS

Altaro VM Backup:

  • 1 GB RAM
  • 1 GB Espace disque dur (programme et paramétrage) + 5 GB (pour les fichiers temporaires durant le process de sauvegarde)

Altaro Hyper-V Host Agent:

  • 500 MB RAM

Présentation et lab test sur hyperV

Incohérence d’affichage entre la console locale et la console cloud