Jeudi, Décembre 9, 2021
Configurer les services en démarrage automatique
Récemment un service critique d’un de mes serveurs s’est arrêté. En voulant le redémarrer j’ai constaté que le service était en StartType à Disabled, autrement dit il n’y avait aucune chance pour que le service puisse être démarré même manuellement.
En investiguant 30 sec :) je me suis aperçu que plusieurs autres services essentiels, qui étaient encore démarrés, avaient potentiellement le même problème à savoir le StartType à Disabled.
Plutôt que de cliquer sur chaque service pour le reconfigurer via l’interface Services de Windows, j’ai préféré utiliser la ligne de commande. Et ça marche bien :)
Voici la commande utilisée pour reconfigurer tous les services impactés de mon serveur:
Get-Service | Where-Object {$_.DisplayName -like 'SolarWinds*' -and $_.StartType -like 'Disabled'} | Select Name | Set-Service -StartType Automatic
Ensuite pour confirmer que la manipulation a bien fonctionné
Get-Service | Where-Object {$_.DisplayName -like 'SolarWinds*' -and $_.StartType -like 'Disabled'} | Select Name
Et voilà maintenant les services sont configurés correctement !
Mardi, Novembre 23, 2021
Configuration d’un proxy pour APT
Pour pouvoir utiliser les commandes apt sur une machine qui se connecte à internet via un proxy il faut configurer le fichier proxy.conf qui va indiquer quelle url la commande apt doit utiliser.
- Création du fichier proxy.conf
sudo nano /etc/apt/apt.conf.d/proxy.conf
- Ajout des lignes du proxy
Acquire::http::Proxy "http://user:password@proxy.server:port/";
Acquire::https::Proxy "http://user:password@proxy.server:port/";
A noter que les user et password peuvent-être optionnels en fonction de la configuration du proxy.
- Enregistrement du fichier de configuration
Ctrl-o
- La configuration est prise en compte au prochain lancement de la commande apt
Vendredi, Novembre 19, 2021
Python - environnement virtuel
Environnement virtuel
python -m venv .venv
Activation sous Windows
.venv/Scripts/activate
Activation sous Linux
source .venv/Scripts/activate
Désactivation sous Windows
deactivate
Installation de module avec pip
pip install nom_du_module
Avec un proxy en utilisant —proxy, le user et le password sont à renseigner si besoin
pip install nom_du_module --proxy http://user:password@proxy:port
Mise à jour des modules
On peut mettre à jour les modules y compris pip.
pip install --upgrade pip
Afficher les routes réseaux
Linux
Sous linux voici trois façons d’obtenir une informations similaire avec des commandes différentes
Commande route
[user@machine ~]$ route -ne
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.254 0.0.0.0 UG 0 0 0 ens192
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ens192
-n
affiche les adresses numériques sans résolution de nom-e
Commande netstat
[user@machine ~]$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.254 0.0.0.0 UG 0 0 0 ens192
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ens192
Commande ip
[user@machine ~]$ ip route list
default via 192.168.0.254 dev ens192 proto static metric 100
192.168.0.0/20 dev ens192 proto kernel scope link src 192.168.0.100 metric 100
Windows
Sous Windows voici deux façons d’afficher les route:
La façon historique avec la commande batch
route print
La version moderne en PowerShell. A noter que de base je trouve la version PowerShell moins utile :)
Get-NetRoute
Couchdb - la base
Upload de fichier Powershell
Contexte:
des fichier json sont preésents dans une arborescende de dossier et doivent être uplaoder dans le serveur couchdb.
$files = ls *.json -Recurse -File | select FullName
foreach ($file in $files) {$f = $file.Fullname; curl -X POST "http://admin:password@server_couchdb:5984/alerts" -d "@$f" -H "Content-Type:application/json"}
- ligne 1 : liste les fichiers json du répertoire courant et des sous-répertoires, en sélectionnant le Fullname c’est à dire le chemin complet
- ligne 2 : pour chaque item on envoi le fichier json vers le serveur couchdb
Accès à l’interface web
L’accès se fait via un browser web à l’URL suivante: http://server_couchdb:5984/_utils/
Requête basique
Afficher tous les records:
{
"selector": {
"_id": {
"$gt": null
}
}
}
Afficher tous les records mais en séectionnant les colonnes:
{
"selector": {
"_id": {
"$gt": null
}
},
"fields": [
"column1",
"column2",
"column3.sub1",
"column5.sub1.sub2"
]
}