MongoDb : Corriger l'erreur Unexpected shutdown

Rédigé par marmous Aucun commentaire
Il arrive parfois, suite à une coupure de courant et que vous n'avez pas d'onduleur ou quand votre ordinateur s'arrête pas proprement, que MongoDb ne veuille plus démarrer et affiche le message d'erreur "".

Pour éviter que cela ne produise vous pouvez modifier le fichier /etc/init.d/mongodb et ajouter ceci :
# Recover Data after an Unexpected Shutdown     
if [ -f /var/lib/mongodb/mongod.lock ] ; then
rm /var/lib/mongodb/mongod.lock
mongod --dbpath /var/lib/mongodb --repair
chown -R mongodb:nogroup /var/lib/mongodb
fi
dans le bloc start_server() juste avant de démarrer le processus (à la ligne 115 dans mon cas)


Debian : Interface bonding

Rédigé par marmous Aucun commentaire
J'utilise OpenMediaVault en tant que NAS et j'avais besoin d'utiliser 2 cartes réseaux pour faire du fail-over.

OpenMediaVault laisse croire qu'il est capable de configurer ça mais en réalité cela ne fonctionne pas.

Le plus simple est de modifier directement le fichier /etc/network/interfaces comme suit :

# The loopback network interface
auto lo
iface lo inet loopback
iface lo inet6 loopback

# eth0 network interface
allow-hotplug eth0
iface eth0 inet manual
pre-up ifconfig $IFACE up
pre-down ifconfig $IFACE down

# eth1 network interface
allow-hotplug eth1
iface eth1 inet manual
pre-up ifconfig $IFACE up
pre-down ifconfig $IFACE down

# bond0 network interface
auto bond0
iface bond0 inet dhcp
bond-slaves eth0 eth1
bond-primary eth0
bond-mode 4
bond-miimon 100
bond-downdelay 200
bond-updelay 200
iface bond0 inet6 manual
pre-down ip -6 addr flush dev bond0


Et ensuite de redémarrer le réseau
service networking restart

Rasberry pi : Pense-bête opération sur carte SD

Rédigé par marmous Aucun commentaire
Classé dans : Informatique, DIY Mots clés : raspi, raspberry pi, carte sd, backup, correction
Lorsque qu'il arrive un problème sur une carte SD d'un Raspberry Pi, je recherche toujours les mêmes commandes.

Backup d'une carte
sudo dd if=/dev/DISK of=/home/YOURUSER/backup.img

Restauration d'un backup
sudo dd if=/home/YOURUSER/backup.img of=/dev/DISK

Vérification et correction des erreurs sur une carte
umount /dev/sdh0
fsck -v /dev/sdh0

VirtualBox : Comment augmenter la taille d'un disque dur virtuel (Windows)

Rédigé par marmous Aucun commentaire
Classé dans : Informatique Mots clés : aucun
Voici la méthode que j'ai utilisé pour agrandir mon disque (une seule partition) pour une machine virtuelle sous Windows :

0x01 - Création d'un nouveau disque

vboxmanage createhd --filename NouveauDisque.vdi --size 50000
A noter que la taille est en Mo

0x02 - Arrêt de la machine virtuelle


0x03 - Clone de l'ancien disque sur le nouveau

vboxmanage clonehd AncienDisque.vdi NouveauDisque.vdi --existing

0x04 - Attacher le nouveau disque

Tu détaches l'ancien disque de la machine virtuelle
vboxmanage modifyvm NomMachineVirtuelle --hda none
Tu supprimes les deux disques du gestionnaire de média VirtualBox
vboxmanage closemedium disk AncienDisque.vdi
vboxmanage closemedium disk NouveauDisque.vdi
Tu les renommes pour faire plus propre
mv AncienDisque.vdi AncienDisque_Copie.vdi
mv NouveauDisque.vdi AncienDisque.vdi
Tu attaches le nouveau disque renommé sur la machine virtuelle
vboxmanage modifyvm NomMachineVirtuelle --hda AncienDisque.vdi

0x05 - Démarrage sur un CD utilitaire (Hiren's boot cd, Ultimate boot cd, distribution linux en boot cd, ....)

Agrandir la partition pour qu'elle prenne tout le disque.

0x06 - Redémarrage

0x07 - Test


0x08 - Suppression de l'ancien disque

rm -f AncienDisque_Copie.vdi

TSQL Astuce 5 : Modifier une date par un modificateur

Rédigé par marmous Aucun commentaire
Classé dans : Informatique Mots clés : developpement, TSQL, SQL Server
Le but est d'autoriser l'utilisateur à écrire un modificateur pour modifier une date. Cela permet d'être plus dynamique.
Un modificateur se compose de 3 parties :
   - Type d'opération sous la forme + ou  -
   - Valeur à appliquer
   - Partie de la date à modifier sous la forme d pour jour, w pour semaine, m pour mois et y pour année

La fonction se présente sous la forme :
CREATE FUNCTION [dbo].[ApplyDateModifier]
(
@date varchar(32),
@modifier varchar(32)
)
RETURNS varchar(32)
AS
BEGIN

declare @return varchar(32),
@type char

set @return=@date
set @type=(substring(reverse(Lower(@modifier)),1,1))

if (@type='y')
begin
set @return=dbo.FormatDate(DATEADD(YEAR, convert(int,replace(@modifier,@type,'')),@date) ,'yyyymmdd')
end

if (@type='m')
begin
set @return=dbo.FormatDate(DATEADD(MONTH, convert(int,replace(@modifier,@type,'')),@date) ,'yyyymmdd')
end

if (@type='w')
begin
set @return=dbo.FormatDate(DATEADD(WEEK, convert(int,replace(@modifier,@type,'')),@date) ,'yyyymmdd')
end

if (@type='d')
begin
set @return=dbo.FormatDate(DATEADD(DAY, convert(int,replace(@modifier,@type,'')),@date) ,'yyyymmdd')
end

return @return

END
On utilise ici la fonction système DateAdd et la fonction vue précédemment FormatDate.

Exemple d'utilisation
select dbo.ApplyDateModifier(GetDate(),'3d');
Cela affichera la date du jour + 3 jours

La limite de cette fonction est qu'elle ne peut mélanger plusieurs partie à modifier.
Fil RSS des articles de cette catégorie