« Commandes utiles » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
Ligne 42 : Ligne 42 :


=CertBott=
=CertBott=
* Obtenir et installer un certificat pour un domaine : https://certbot.eff.org/
* Obtenir de l'aide :
* Obtenir de l'aide :
  certbot help all
  certbot help all

Version du 28 avril 2021 à 10:05

Gestion des serveurs

Commande Description
lsblk

ou

sudo fdisk -l

Lister les partitions su système [1]
Installation : sudo apt-get install smartmontools

sudo smartctl --all /dev/<dique>

exemple : sudo smartctl --all /dev/sda

Etat d'un disque, plus les valeurs sont faibles plus c'est proche de la rupture.
uname -r

ou avec plus d'infos

uname -a

Connaître la version du noyau Linux
apt-cache policy <paquet(s)> Connaître la version d'un paquet (donc pas ce qui est compilé)
grep "Version" Version d'un paquet (donc pas ce qui est compilé)
mono -V Connaître la version de mono utilisée
dpkg -l Liste des paquets installés (donc pas ce qui est compilé)
dpkg --get-selections

ou

dpkg --get-selections > liste-des-paquets

Liste simple des paquets installés


Récupérer la liste des paquets installés dans un fichier

df -h L'espace disque libre est listé en format lisible pour l'homme.
ls -la Liste les fichiers avec leurs permissions, propriétaires, tailles, et dates de modifications

-h lisible pour l'homme

du -sh

ou

du -h

Taille des répertoires/des fichiers en formats humains

Utiliser --max-depth=x pour avoir la taille des dossiers cachés

du -ah --max-depth=1 Pour avoir la taille de tous les fichiers et dossier au niveau 1 d'un repertoire
scp compte@machine_distante:/chemin/absolu/vers/fichier /chemin/vers/repertoire/destination/

cd le_repertoire_de_copie

scp -rp -P <port> user@host.com:/toto/titi_dir ./

Copier un fichier depuis un serveur distant.

-r permet de faire une copie récursive du répertoire titi_dir/

-p permet de préserver les users, droits et date des fichiers

-P port distant

sftp -ro "IdentityFile /<chemin_serveur_copieur>/.ssh/id_dsa" <utilisateur>@<domaine_serveur_distant>:/dossier_copié/ /dossier_de_destination/

Copier des dossiers avec clé ssh
sudo shutdown -r now Redémarrer le serveur immédiatement
tar -xjvf nomdufichieradecompresser.tar.bz2 Décompression de fichier .tar.bz2
tar -xvzf <nom_du_fichier> Décompression de fichier tar.gz
tar -xJf <nom_du_fichier> Décompression de fichier tar.xz
tar czvf < nom_archive >.tar.gz < nom_rep > Compresser un fichier ou un répertoire en tar.gz
netstat -ltunp Quel processus pour quel port ?
find /dossier -name " *.c " -print
Recherche d'un fichier par son nom ajouter -delete à la fin pour supprimer les fichiers.
source ~/.bashrc Recharger bashrc sans reboot
 find  /adresse_racine -iname "*.tar.gz" -exec mv {} /adresse_copie/ \;

autre possibilité

 mv $(find /adresse_racine -name "*.tar.gz")  /adresse_copie
Trie tous les fichiers d'un type à partir d'un répertoire et le envoie

dans un dossier.

ps aux | grep <nom_processus>

ou dans un script bash

 $pid=(pgrep -f <nom du processus>);
Trouver le pid d'un processus comme SCREEN -d -m -S <nom>
>/var/log/log_a_vider Vider un log
md5sum <archive> Vérifier l'intégrité d'une archive
for f in *.jp2; do mv -- "$f" "${f%.jp2}.jk2"; done; Remplacer l'extension des fichiers (avec la meme extension) d'un dossier

Gestion des utilisateurs système

Description Commande
Créer un utilisateur
sudo adduser identifiant 
Créer un utilisateur avec le home dans un répertoire défini.
sudo adduser --home <répertoire entier><utilisateur>
Créer ou modifier un mot de passe pour un utilisateur.
sudo passwd identifiant
Lister les utilisateurs d'un groupe
getent group <groupe>
Lister les groupes d'un utilisateur.
groups identifinant 			
Ajouter un utilisateur à un groupe existant.
sudo adduser identifiant groupe 
Supprime l'user du groupe
sudo deluser user group
Lister les utilisateurs
cat /etc/passwd 
Supprimer un utilisateur et son répertoire
deluser --remove-home <utilisateur>  


Modèle:Ssh et clé asymétrique

Modèle:Droits sur les dossiers et les fichiers

Commandes utiles pour la gestion MySQL

Commandes

Description Commande
Ouvrir la console MySQL
mysql -u root -p
Utiliser une base de données
use < base de données>
Lister les bases de données
show databases; 
Créer une base de données
CREATE DATABASE <nom_bdd>;
Lister les tables d'une base de données
show tables;
Supprimer une base de données
drop database <bdd>;
Lister les utilisateurs
select User,host from mysql.user;
Créer un utilisateur
CREATE USER "<utilisateur>"@"localhost";
Créer un mot de passe pour un utilisateur
SET password FOR "<utilisateur>"@"localhost" = password('<mot de passe>');
SET PASSWORD FOR 'jeffrey'@'localhost' = 'auth_string'; (MYSQL 8.0)
Donner tous les droits sur une bdd pour un utilisateur
GRANT ALL ON <nom_bdd>.* TO "<utilisateur>"@"domaine";
GRANT ALL ON <nom_bdd>.* TO "<utilisateur>"@"localhost";
Supprimer les droits sur une base de données
REVOKE ALL ON <nom_bdd>.* FROM "<utilisateur>"@"localhost";
Voir les droits d'un utilisateur
show grants for "<utilisateur>"@"domaine";
show grants for "<utilisateur>"@"localhost";
Donner les droits de lecture sur une bdd pour un utilisateur :
GRANT SELECT ON <nom_bdd>.* TO "<utilisateur>"@"domaine";
GRANT SELECT ON <nom_bdd>.* TO "<utilisateur>"@"localhost";
Supprimer un utilisateur
drop user '<utilisateur>'@'domaine';
drop user '<utilisateur>'@'localhost';
Supprimer les tables de la grilles

drop table Avatars ,Friends ,GridUser ,Presence ,UserAccounts ,assets,auth,avatar_base ,classifieds ,hg_traveling_data ,im_offline,inventoryfolders ,inventoryitems ,migrations ,os_groups_groups ,os_groups_invites,os_groups_membership,os_groups_notices,os_groups_principals,os_groups_rolemembership,os_groups_roles ,regions ,tokens ,userdata ,usernotes,userpicks ,userprofile ,usersettings;

Vider une table
 delete from <nom_de_la_table>;
Sauvegarder une bdd
mysqldump -u root -p maBase > maBase_backup.sql 
Sauvegarder une table
mysqldump -u root -p maBase ma_table > ma_table.sql 
Importer une base de données.
mysql -u root -p <base de donnée> < /<hemin/<nom_du_fichier>.sql 
Importer un fichier csv vers une bdd MySQL [2]
 LOAD DATA INFILE `\<chemin>\<nom_fichier>.csv` 
 INTO TABLE <table>  FIELDS TERMINATED BY `,` 
 ENCLOSED BY `"`  LINES TERMINATED BY `\n`  
 IGNORE 1 ROWS;
 
Afficher un tableau des tailles des bases de données
SELECT table_schema, round(sum(data_length+index_length)/1024/1024,4) AS "Size (MB)"
FROM information_schema.tables
GROUP BY table_schema; 
Supprimer un utilisateur et ses droits
 REVOKE ALL PRIVILEGES, GRANT OPTION FROM  "<utilisateur>"@"localhost";
 DROP USER  "<utilisateur>"@"localhost";

Commandes Mysql grille pour la grille

  • Importation d'une sauvegarde de la base de données de la grille

Avant le premier lancement de la grille, ou après suppression des tables,

mysql -u root -p <Nom de la bdd de la grille> < Modèle:Dossier backup grille/OSWiki_<version>.sql

(50 minutes pour une base de données de 30 Go)

  • Supprimer l'enregistrement des simulateurs
use <Nom de la bdd de la grille>;
delete from regions;

SQL

Page des requêtes SQL utiles : http://opensimulator.org/wiki/Useful_Queries

PHP

Changer de version de PHP

sudo a2dismod php5.6
sudo a2enmod php7.3
sudo service apache2 restart

json

Affichage d'un fichier JSON avec indentation et tout et tout

cat myjsonfile.json | python -m json.tool > pretty.json

Modèle:Afficher les erreurs en PHP

Modèle:Commandes Screen

Modèle:Commandes OpenSimulator

Modèle:Utiliser Cron

Commandes pour le pare-feu ufw

ATTENTION : sur un serveur distant, ne jamais activer ufw si le port ssh (22) n'est pas ouvert.

Commande Description
Activer ou désactiver le pare-feu
ufw enable/ disable
Définir une régle
ufw allow [règle]
Afficher l'état détaillé de ufw
ufw status verbose
Afficher l'état détaillé et numéroté de ufw
ufw status numbered
Supprimer une règle
ufw delete [règle]
Empêcher l'accès à un IP
sudo ufw deny from {adresse-ip-ici} to any


Modèle:Commandes git

Modèle:Commandes mediawiki

Images

mogrify -format jpg -path /<dossier2>/galerie_jpg *.png

CertBott

  • Obtenir de l'aide :
certbot help all
  • Ajouter un ou plusieurs domaines :
certbot certonly --cert-name <nom du certificat>  -d <nouveau domaine 1> <nouveau domaine 2>...