Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1476 Le 30/09/2011, à 05:25

nassertom

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Bonjour,

J'ai fait ce script pour convertir des vidéos mkv en avi. la particularité de ce script est qu'il sélectionne automatiquement la langue française pour le fichier avi.
de plus pour les gens qui ont pas mal de fichier celui-ci vérifie la présence ou non du fichier avant de le ripper.

il effectue une recherche récursive dans le répertoire source (celui qui contient les mkv) ainsi que dans le répertoire cible (celui qui contient les avi)

J'ai fait cela cette nuit donc il est perfectible et si vous avec des propositions d'amélioration je suis preneur.
par exemple je n'ai pas réussi à lancer 2 conversions en simultané automatiquement et pour ce faire je lance 2 fois le scripts pour ripper 2 fichiers en même temps.
car les codecs que j'utilise via ffmpeg ne pas optimisé pour faire du multi-threads donc quite à travailler que sur un cœur autant lancer 2 scripts.

#!/bin/bash

if [ $# != 2 ] # Test le nombres de paramètre passé au shell
then
    echo erreur dans la saisie des paramètres;
    echo "essayer : sh $0 /repertoire_source /repertoire_cible";
    exit 0 # Quitte le shell
elif [ ! -d "$1" -o ! -d "$2" ] # Test que les paramètres soient bien des repertoires
then
    echo il faut renseigner des répertoirs dans les paramètres;
    exit 0
fi
#Paramètres du shell
repertoirSource="${1%/}/" # Supprime le slash de la fin si il existe puis en ajoute un (pour éviter d'en avoir 2 si l'utilisateur l'avait mis)
repertoirCible="${2%/}/"
extension="mkv"
#Fichiers de log pour exploitation future
log="$repertoirCible"log.txt
existant="$repertoirCible"existant.txt
absent="$repertoirCible"absent.txt
erreur="$repertoirCible"erreur.txt

flag="non" #Drapeau pour communiquer entre les fonctions
maintenant=$(date) #Pour afficher l'heure et la date dans le fichier de log

#Fonction pour mettre à jour la date et heure dans la variable.
actualiseTimeOfTreatment() {
    maintenant=$(date '+%Y-%m-%d %H:%M:%S')
}
#Fonction métier besoin de ripper des fichiers mkv en avi avec une selection automatique de la langue francaise si présente
actionMKVtoAVI() {
    fichier="${1##*/}" #Récupération du nom de fichier passé en paramètre (idem que d'utiliser basename)
    echo "${maintenant};${1};demande de conversion." >> "$log";
        # recherche le mapping des pistes audio FR via la commande ffmpeg -i
        # redirection de la sortie 2 vers la 1 car ffmpeg n'affiche pas les informations à l'écran via la sortie standard.
        # recuperation du resultat de grep dans la variable.
    audio=`ffmpeg -i  "$1" 2>&1| grep '(fre): Audi'`
        # supprime de la variable 'Stream #' ainsi que tous ce qui le precede.
    audio="${audio##*Stream #}"
        # supprime de la variable '(fre)' et tous ce qui suit
    audio=${audio%(fre)*}
        # la variable contien à ce moment là soit le mappage attendu pour le francais (ex: '0.1') soit rien
        # même principe pour le mappage de la vidéo car pour mapper en manuel dans ffmpeg il faut lui donner l'ensemble des flux.
        # recherche le mapping de la video via la commande ffmpeg -i
    video=`ffmpeg -i  "$1" 2>&1| grep ': Video'`
    video="${video##*Stream #}"
    video=${video%%(*}
        # si piste audio FR détecté alors force le map dans la conversion.
        # pas de test sur la variable vidéo car en cas d'erreur c'est ffmpeg qui prendra en charge de mapper automatiquement la première piste vidéo.
    if ["${audio}" -e ""]
    then
        echo "${maintenant};${1};Pas de piste audio française trouvée." >> "$log";
        echo "${maintenant};${1};ffmpeg -i $1 -async 1 -s 720x576 -r 24 -ab 128k -b 1200k -aspect 16:9 -ac 2 -v 0 -f avi ${repertoirCible}${fichier%.*}.avi" >> "$log";
        ffmpeg -i "$1" -async 1 -s 720x576 -r 24 -ab 128k -b 1200k -aspect 16:9 -ac 2 -v 0 -f avi "${repertoirCible}${fichier%.*}".avi;
    else
        echo "${maintenant};${1};Piste audio française trouvée." >> "$log";
        echo "${maintenant};${1};ffmpeg -i $1 -async 1 -s 720x576 -r 24 -ab 128k -b 1200k -aspect 16:9 -map ${video} -map ${audio} -ac 2 -v 0 -f avi ${repertoirCible}${fichier%.*}.avi;" >> "$log";
        ffmpeg -i "$1" -async 1 -s 720x576 -r 24 -ab 128k -b 1200k -aspect 16:9 -map "${video}" -map "${audio}" -ac 2 -v 0 -f avi "${repertoirCible}${fichier%.*}".avi;
    fi 
}
actionScript() {
actualiseTimeOfTreatment #demande de mise à jour de la variable temps (maintenant)
if [ "$flag" = "non" ] #Si fichier non trouvé
    then     
        echo "$1" >> "$absent";
        actionMKVtoAVI "$1"
    else    #Si fichier trouvé    
        echo "${maintenant};${1};${flag}" >> "$log" ;
        echo "$1" >> "$existant";
    fi 
    return
}
rechercheCible() { #Dans le cas des boucles for le résultat d'un repertoir n'est pas fini par un '/' c'est pourquoi je l'ajoute apres ${u}"/"
    for u in "$1"* ;do  #Boucle sur tout le contenu du repertoir passé en paramètre
        if [ -d "$u" ] #Si repertoire
        then
            if [ -f "${u}"/"$2" ] #si le fichier existe dans le répertoire 
            then
                flag="${u}"/"$2"  #valorise le flag pour dire que le fichier est présent                    
                return  #quitte la fonction
            else
                rechercheCible "${u}/" "$2" #sinon explore le contenu de ce nouveau répértoire
            fi
        fi
    done
    return #Si je sorts ici alors c'est que je n'ai rien trouvé...
}
rechercheSource() {
    for i in "$1"* ;do #Boucle sur l'ensemble des fichiers 
        flag="non" #Passe le drapeau à non avant de faire la recherche dans le repertoire cible
        if [ -d "$i" ] #Si repetoire
        then 
            rechercheSource "${i}/"  #Recherche dans le sous répertoire
        else
            currentExtension="${i##*.}" #Extraction de l'extension
            nom="${i##*/}"    #extraction du nom de fichier        
            if [ "$currentExtension" = "${extension}" ]
            then    
                if [ -f "${repertoirCible}${nom%.*}".avi ] #si le fichier existe dans le répertoire cible
                then
                    flag="${repertoirCible}${nom%.*}".avi  #valorise le flag pour dire que le fichier est présent
                    actionScript "$i" #Demande l'execution d'une action    
                else
                    rechercheCible "$repertoirCible" "${nom%.*}".avi #recherche sa présence dans les sous répértoires Cible (apres avoir changé son extension)        
                    actionScript "$i" #Demande l'execution d'une action
                fi
            else
                echo "${maintenant};${1};n'est pas un fichier $extension">> "$log";
                echo "$i" >> "$erreur";
            fi
        fi
    done
    return
}

rechercheSource "$repertoirSource" 

echo "Job's done by Tom";

pour suivre en temps réel le traitement du script je fais

tail -f log.txt

Dernière modification par nassertom (Le 01/10/2011, à 16:36)


C'est la plus radicale manière d'anéantir tout discours que d'isoler chaque chose de tout le reste; car c'est par la mutuelle combinaison des formes que le discours nous est né.
[ Le Sophiste, 259e ]

Hors ligne

#1477 Le 30/09/2011, à 11:34

Levi59

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Petite version pour le script d'imprim-ecran et d'upload sur imgur. Là il se contente d'attendre la sélection de la zone d'écran et l'upload pour mettre un lien pour forum dans le copier collé. Il y a possibilité de régler 2-3 options au début.
(J'ai fait cette petite modif car j'utilise maintenant xfce-screenshooter sous openbox et je ne me sert donc plus de ce script que pour faire des miniatures de forum.)

#!/bin/bash
# script pour créer rapidement et simplement un screenshot d'une zone du bureau
# et de l'envoyer sur imgur. Vous avez le choix de sauvegarder l'image. Vous récupérez
# un lien disponible en collant le contenu du presse papier sous la forme d'un lien ou
# de BBcode contenant le lien et une miniature. Enjoy!
#
# Copyright (C) 22 Jan. 2011, Rombeaut Rodolphe
# http://scriptam.over-blog.com/
# Released into the public domain.

###### Options ######
#Conserver l'image
CONSERVE=0

#Lien pour forum
FORUMLINK=1

# changer en LOG=1 pour conserver la liste des urls des images uploadées
LOG=0

# changer en TAILLE="s" pour le thumbnail small ou en TAILLE="l" (L minuscule) pour le large
TAILLE="s"
###################

# Vérifier dépendances
for i in xsel curl notify-send scrot
do
    [[ ! -x /usr/bin/$i ]] && PAQUETS="${i/notify-send/libnotify-bin} $PAQUETS"
done
[[ -n $PAQUETS ]] && { echo "\
---Erreur : ${0##*/} dépend de $PAQUETS
Utilisez cette commande pour installer les dépendances :
    sudo apt-get install $PAQUETS\
" >&2; exit 1; }

# Emplacement du screenshot pour conservation
[ $CONSERVE -eq 1 ] && {
    LOCATEF=$(zenity --file-selection \
    --title="Dossier d'enregistrement" \
    --filename="${HOME}/" \
    --directory) || {
    notify-send Annulation
    exit 0
    }

# Vérifier la présence d'un fichier screenshot dans le dossier
# Si oui renommer en screenshot(X).jpg ou X est un nombre suffisamment élevé pour
# ne pas écraser l'ancien screenshot
    [ -f "${LOCATEF}/screenshot.jpg" ] && {
        b=1
        while [ -f "${LOCATEF}/screenshot($b).jpg" ] ; do ((b++)) ; done
        SCRSHT="${LOCATEF}/screenshot($b).jpg"
    } || SCRSHT="${LOCATEF}/screenshot.jpg"
} || {

# Si pas d'option, on envoie en dossier /tmp et on supprime tout ancien fichier
# pour ne pas fausser le test suivant
    rm -f /tmp/screenshot.jpg
    SCRSHT="/tmp/screenshot.jpg"
}

notify-send "Selectionnez la zone à uploader avec la souris"
sleep 2

# Cheese! ^^
scrot -s -q 100 -d 1 "${SCRSHT}";
[ -f "${SCRSHT}" ] || {
    notify-send "Pas de screenshot effectué"
    exit 1
}
URL=$(curl -F "image"=@"${SCRSHT}" -F "key"="5d317f0bee23b282473522e1aa68f621" http://imgur.com/api/upload.xml | grep -Eo '<[a-z_]+>http[^<]+' | sed 's/^<.\|_./\U&/g;s/_/ /;s/<\(.*\)>/\1:\ /' | cut -d ' ' -f3 | head -n1)

[ "${LOG}" -eq 1 ] && echo "$(date);${URL}" | tee -a "${HOME}/.${0##*/}.log" ;

# Retour à xsel selon option
[ $FORUMLINK -eq 1 ] && {
    URLSSEXT=${URL%.*}
    echo -n "[url=${URL}][img]http://${TAILLE}.${URLSSEXT#*.}.${URL##*.}[/img][/url]" | xsel -i -b ;
} || {
    echo -n "${URL}" | xsel -i -b ;
}

notify-send "Image Uploadée";
exit 0 

Dernière modification par Levi59 (Le 30/09/2011, à 15:49)

Hors ligne

#1478 Le 10/10/2011, à 21:55

Aldian

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Salut

Je cherchais à controler de l'extérieur l'exécution de certains programmes. Je me suis souvenu de ce vieux post: Limiter la consommation CPU d'une tache et une fois de plus je me suis demandé "est-ce qu'il est absolument nécessaire de passer par un programme C ultra bourrin?, Ne pourrait-on pas le faire en bash?" et donc j'ai étudié la question, et voici le résultat:

#!/bin/bash
# $1 = name of process
# $2 = percent limit

#init parameters
w=$(echo "scale = 2; $2/100" | bc)
s=$(echo "scale = 2; (100-$2)/100" | bc)
export progname=$1

# run if user hits control-c
control_c()
{
  echo -en "\n*** Ouch! Exiting ***\n"
  pkill $progname
  exit 0
}
 
# trap keyboard interrupt (control-c)
trap control_c SIGINT

#main loop
while true 
do
    echo "STOP proc with name: $1"    
    pkill -SIGSTOP $1
    sleep $s
    echo "CONT proc with name: $1"
    pkill -SIGCONT $1
    sleep $w
done

Je ne suis pas très bon en bash, donc j'ai fait au plus simple, tous vos commentaires sont bienvenus. Je rajouterai dans le sommaire des scripts utiles si je ne me fais pas foudroyer par les gourous du bash smile

Le script s'utilise très simplement, il prend en premier argument le nom du programme à limiter et en deuxième argument le pourcentage d'utilisation cpu que l'on souhaite lui attribuer. Les nombres à virgule sont autorisés.

Hors ligne

#1479 Le 11/10/2011, à 16:16

BoingBall

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Bonjour,
Je suis un nouvel utilisateur sur linux et souhaite mettre en place un journal cyclique basé sur LibreOffice en récupérant des fichiers odp depuis le serveur vers le local.
Dans un dossier "diffusion", plusieurs fichiers impress sont stockés et portent un numéro incrémental.
Merci d'avance pour votre soutient car j'ai quelques lacunes.


Voici mon ébauche :

#!bin/bash

### suppression du process impress
killall -9 soffice.bin

###suppression des fichiers impress en local
rm -f /home/myspace/diffusion/*.odp

###rafraîchissement de la liste depuis le serveur distant
cp /home/myspace/Diffusion/*.odp /home/myspace/diffusion

cd /home/myspace/diffusion/
i=0
while [ $i -lt ${#odp[0]} ] ; do
          ODP="${odp[$i]}"
          libreoffice -show -nodefault -minimized "$ODP" &
          sleep $pause
          let i++
          if [ $i -eq ${#odp[*]} ] ; then
                         odp=('find /home/myspace/diffusion -name "*.odp"')
                         i=0
          fi
done

exit 0

Hors ligne

#1480 Le 12/10/2011, à 22:10

twocats

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

libreoffice -show -nodefault -minimized "$ODP" &
sleep $pause

Euh... j'ai du mal a comprendre, d'autant que $pause n'est pas défini.
Le exit 0 à la fin est inutile.


La réponse est 42

Hors ligne

#1481 Le 21/10/2011, à 12:58

vlotho

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Bonjour,

Je cherche comment je pourrais faire recevoir les notifications de mise à jour, via l'update manager, en temps réèl, c'est à dire dés qu'il y a au moins une mise à jour disponible. J'ai chercher mais je n'ai rien trouvé.

Hors ligne

#1482 Le 21/10/2011, à 17:07

wlourf

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

avec aptitude, je fais ça :

#!/bin/bash

ud="$(aptitude search "~U"  | wc -l)"
if [ $ud != 0 ]; then
        zenity --info --text "$ud mise(s) à jour dispo."
fi
exit 0

Hors ligne

#1483 Le 21/10/2011, à 18:05

Bousky

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Il y a « /usr/lib/update-notifier/apt-check » qui envoie sur la stderr deux nombres séparés par un point virgule, représentant le nombre de mises à jour disponibles et le nombre de mises à jour de sécurité parmi elles.


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#1484 Le 21/10/2011, à 19:02

vlotho

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

oui enfin faut les utiliser apres aussi ... ^^ enfin moi j'en suis pas capable smile

Hors ligne

#1485 Le 22/10/2011, à 10:36

nordinatueur

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

vlotho a écrit :

oui enfin faut les utiliser apres aussi ... ^^ enfin moi j'en suis pas capable smile

var=$( /usr/lib/update-notifier/apt-check 2>&1 ); echo "${var%;*} màj dont ${var#*;} de sécurité";

Exemple dans un conky :

${color0}MAJ ${goto 65}${color4}${execpi 30 var=$( /usr/lib/update-notifier/apt-check 2>&1 ); echo "${var%;*}\${color0} dont \${color4}${var#*;}\${color0} de sécurité"; }

Si ça peut t'aider...


Linux User #508094
Pour une meilleure coopération, utilisez des liens relatifs sur le forum !

Hors ligne

#1486 Le 28/10/2011, à 10:15

BoingBall

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Bonjour,

Dans un répertoire intitulé "donnees", se trouve des fichiers numérotés de 01 à 99 avec des fichiers manquants ( ex : 01 / 02 / 05 / 06 )
Je désire ouvrir fichier par fichier, un à la fois et non pas tous en même temps.
Quand l'un est terminé, application fermé ou fichier fermé, le fichier suivant est chargé.

Comment dois-je procéder ?

Hors ligne

#1487 Le 28/10/2011, à 10:26

Jackass059

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Bonjour BoingBall,

tu peux utiliser la commande suivante depuis le répertoire contenant tes fichiers :

for file in *[0-9][0-9]; do $EDITOR $file; done

Il y a 10 types de personnes sur terre, celles qui comprennent le binaire, et les autres ...

Hors ligne

#1488 Le 04/11/2011, à 23:42

david91

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

En réponse à ceci Keylogger sous GNU/Linux : enregistrer les touches tapées au clavier

Posté sur le planet du site d'Ubuntu-fr.org

Voici mon petit script bash pour éviter certains ennuis, il se contente d'éplucher la liste des processus, et de balancer une alerte si une entrée "xinput" est détectée.

Voilà

#!/bin/sh

result=1

while ([ $result != 2 ])

do
        scan=$(ps -e | grep "xinput")

        if [ ${#scan} != 0 ]; then
               xmessage -buttons 'Okay':1,'Ignorer (Non recommande)':2,'Un Key Loger ?':3   $(echo "ALERTE KEY OU MOUSE LOGER DU TYPE XINPUT DETECTE :\nARRETEZ IMMEDIATEMENT TOUTE SAISIE ET TUEZ LE PROCESSUS...\n\n(DETAILS  $scan)")
        result=$?

        if [ $result -eq 3 ]; then
                xmessage "Un Key/Mouse loger est un programme malveillant qui enregistre les touches tappees au clavier et les mouvement de la souris."
        fi

        fi
        
        

done

xmessage "LE DETECTEUR DE KEY/MOUSE LOGER EST FERME, IL N'OFFRE PLUS AUCUNE PROTECTION, IL SE PEUT QUE LE KEY LOGER SOIT ENCORE ACTIF : ATTENTION."

exit 0

Oui je sais il y a une boucle infinie, seulement je ne sais pas comment effectuer le scan en permanence.
C'est un peu bourrin mais ça marche.
Désolé également pour l'absence de commentaire dans le code, je les mettrais plus tard.

à lancer dès le démarrage de votre session, si vous avez des idées pour l'améliorer n'hésitez pas.

David.

edit : si quelqu'un sait comment sauter des lignes quand on écrit un texte dans xmessage : je suis preneur.

Dernière modification par david91 (Le 04/11/2011, à 23:48)

Hors ligne

#1489 Le 06/11/2011, à 15:54

n3o51

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

bonjour voila j'ai un fichier texte qui contient  j'ai un fichiers qui a plusieurs ligne du type http://monsite.com/index.html
je voudrais un script qu'il me créer avec ce fichier un  autre fichier qui convertis c'est ligne en lien cliquable avec comme titre de lien monsite.com

quelqu'un pour m'aider ?


Welcome to the real world
________________________________

Hors ligne

#1490 Le 06/11/2011, à 16:15

Bousky

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Pas testé :

sed 's|http://([^/]*)/.*|<a href="&">\1</a>|' fichier_source > fichier_destination

Si fichier_source = fichier_destination, le fichier est effacé ! Il faut faire « sed -i … fichier » dans ce cas.


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#1491 Le 06/11/2011, à 16:19

Levi59

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

n3o51 a écrit :

bonjour voila j'ai un fichier texte qui contient  j'ai un fichiers qui a plusieurs ligne du type http://monsite.com/index.html
je voudrais un script qu'il me créer avec ce fichier un  autre fichier qui convertis c'est ligne en lien cliquable avec comme titre de lien monsite.com

quelqu'un pour m'aider ?

Si ces lien sont cliquable, ça doit vouloir dire que le fichier doit être une page web, je me trompe?

C'est difficile de te proposer une réponse sans être sur du format d'entée et de celui de sortie. Peut tu nous donner un exemple concret avec un vrai morceau de chaques fichiers?

Hors ligne

#1492 Le 08/11/2011, à 17:19

olitask

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Bonjour

J'utilise le module googlecl fourni par google et un script trouvé sur le net  pour uploader un dossier de nautilus contenant des photos vers un nouvel album picasa.
Je cherche également un script qui me permettrait par un clic droit d'uploader un fichier image vers un album nommé "Public"  sur mon espace picasa. La ligne de commande pour uploader est :

google picasa post --title "Public" /home/user/photos/photo_a_uploader.jpg 

Mais je ne sais pas créer un script. QQ1 pourrait-il me donner un coup de main ?
Merci d'avance  Olivier

PS  : le script qui permet d'uploader tout le dossier de photo vers son picasa :

#!/bin/sh
# Script by Black God (http://www.karuppuswamy.com)
# This script uploads pictures to Picasa from current directory, 
# or in the selected directory

base="`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`"
if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
dir="$base"
else 
while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done
dir="$base/$1"
fi

album=`echo $dir | awk -F/ '{print $NF }'`
notify-send -i "gtk-go-up" "Picasa upload" "`printf "Your $album album is being uploaded from $dir ..."`"

google picasa create --title "$album" "$dir"/*

if [ "$?" -ne "0" ]; then
notify-send -i "process-stop" "Picasa upload" "`printf "Your $album album upload failed"`"
else
notify-send -i "gtk-ok" "Picasa upload" "`printf "Your $album album upload is successful"`"
fi

Hors ligne

#1493 Le 08/11/2011, à 17:47

Levi59

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Si ce script te permet de faire ce que tu veux en ligne de commande, alors je te conseille de te tourner vers "nautilus-action" qui permet de rajouter des action dans le menu contextuel.

Hors ligne

#1494 Le 14/11/2011, à 11:57

Julientroploin

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Bonjour,

je fais appel à vous pour contourner mon problème de synchronisation de fichiers : http://forum.ubuntu-fr.org/viewtopic.ph … 1#p7050971
je voudrais un script qui liste (dans un fichier texte par exemple) les fichiers portant le même nom mais différant dans leurs attributs par EXACTEMENT une heure pour l'heure de dernière modification...

Quelqu'un saurait me faire ça pour que je puisse ensuite repartir d'un bon pied ?


Fixe : Core i5, 8GoRAM, NVidia 9800GT Silent => Ubuntu 22.04
Portable Compaq Presario2158 : AthlonXP-M2400+, 1GoRAM, ATI Radeon mobility320M => Primtux
https://launchpad.net/~julienmbpe

Hors ligne

#1495 Le 14/11/2011, à 13:42

titan77

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

olitask a écrit :

Bonjour

J'utilise le module googlecl fourni par google et un script trouvé sur le net  pour uploader un dossier de nautilus contenant des photos vers un nouvel album picasa.
Je cherche également un script qui me permettrait par un clic droit d'uploader un fichier image vers un album nommé "Public"  sur mon espace picasa. La ligne de commande pour uploader est :

google picasa post --title "Public" /home/user/photos/photo_a_uploader.jpg 

Mais je ne sais pas créer un script. QQ1 pourrait-il me donner un coup de main ?
Merci d'avance  Olivier

salut,
si tu veut envoyer seulement une image sélectionnée,ce script doit convenir.

#!/bin/sh

if [ -f "$1" ]; then
    notify-send -i "gtk-go-up" "Picasa upload" "Votre image va être envoyée"
    google picasa post --title "Public" "$PWD/$1"

    if [ "$?" -eq "0" ]; then
        notify-send -i "gtk-ok" "Picasa upload" "Votre image est envoyée"
    else
        notify-send -i "process-stop" "Picasa upload" "Votre image n'est pas envoyée"
    fi
else
    notify-send -i "process-stop" "Picasa upload" "Veuillez sélectionner un fichier"
fi

#1496 Le 14/11/2011, à 14:59

Haleth

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Aldian a écrit :

Salut

Je cherchais à controler de l'extérieur l'exécution de certains programmes. Je me suis souvenu de ce vieux post: Limiter la consommation CPU d'une tache et une fois de plus je me suis demandé "est-ce qu'il est absolument nécessaire de passer par un programme C ultra bourrin?, Ne pourrait-on pas le faire en bash?" et donc j'ai étudié la question...

Utilise les cgroups, c'est beaucoup plus puissant (littéralement, hehe big_smile) :
http://docs.redhat.com/docs/en-US/Red_H … c-cpu.html(en)


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#1497 Le 14/11/2011, à 18:53

Levi59

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Julientroploin a écrit :

Bonjour,

je fais appel à vous pour contourner mon problème de synchronisation de fichiers : http://forum.ubuntu-fr.org/viewtopic.ph … 1#p7050971
je voudrais un script qui liste (dans un fichier texte par exemple) les fichiers portant le même nom mais différant dans leurs attributs par EXACTEMENT une heure pour l'heure de dernière modification...

Quelqu'un saurait me faire ça pour que je puisse ensuite repartir d'un bon pied ?

D'après ce que j'ai lu sur l'autre topic, tu as un problème de date sur tes fichiers.
Voici une commnde qui devrait te permettre de modifier les heures de derniere modification de tes fichiers d'une heure (il en retire une mais tu peux inverser ce comportement en changeant le "-3600" par un "+3600")

while read File; do touch -am "$File" -d @$(($(stat -c '%X' "$File")-3600)).$(date -r "$File" '+%N'); done < <(find /LeCheminVersLeDossier -name "*" -type f)

Hors ligne

#1498 Le 04/12/2011, à 11:06

abach

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

je vais lancer un truc qui, je suppose, existe déjà par ailleurs, mais ça fait plusieurs jours que je cherche, sans trouver quelque chose qui puisse m'être utile :

J'ai un notebook sur lequel je branche un disque dur USB. J'ai aussi une machine que j’appellerais "serveur", bien que toutes les deux machines soient sous Ubuntu 11.04 standard.

J'ai pas des tonnes de données et, dans mon home, j'ai deux dossiers (disk et vidéos) que je pourrais sans problème sauvegarder à moindre importance.

Je cherche une solution pour balancer sur l'externe 1 full, 5 incrémentales, une seconde full et 5 incrémentales (à mettre dans le fichier de config ? ) qui pourraient écraser les 5 précédentes. Dans la foulée, j'aimerais bien rebalancer (en mirroring) le contenu du disque externe vers mon serveur. comprsser les sauvegardes ? je sais pas. L'intérêt que je vois à la compression c'est d'avoir tout dans un même fichier. Je verrais bien des noms de fichier type aammjj-full ou aammjj-incr pour faire le ménage à la main

J'aimerais utiliser les commandes standards d'Ubuntu, en ligne de commande dans un fichier bash avec peut être un fichier de config (include, exclude). Si la sauvegarde est claire et simple au niveau du nommage des fichiers et / où, la restauration sera, elle aussi simplfier. lEnfin, j'aimerais pouvoir lancer cette sauvegarde à la main, au cas où mon disque externe n'est pas branché.

Je ne demande pas du "tout" cuit, mais des pistes à explorer (bon, si j'ai du tout cuit, je vais pas me flageller, hein !)


Les chiens vous regardent tous avec vénération. Les chats vous toisent tous avec dédain. Il n’y a que les cochons qui vous considèrent comme leurs égaux. - Winston Churchill
Je suis parrain Linux

Hors ligne

#1499 Le 09/12/2011, à 10:31

yamo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Salut,

abach a écrit :

je vais lancer un truc qui, je suppose, existe déjà par ailleurs, mais ça fait plusieurs jours que je cherche, sans trouver quelque chose qui puisse m'être utile :

J'ai un notebook sur lequel je branche un disque dur USB. J'ai aussi une machine que j’appellerais "serveur", bien que toutes les deux machines soient sous Ubuntu 11.04 standard.

J'ai pas des tonnes de données et, dans mon home, j'ai deux dossiers (disk et vidéos) que je pourrais sans problème sauvegarder à moindre importance.

Je cherche une solution pour balancer sur l'externe 1 full, 5 incrémentales, une seconde full et 5 incrémentales (à mettre dans le fichier de config ? ) qui pourraient écraser les 5 précédentes.

Ça ressemble à un CVS ce que tu veux faire, peut-être peux tu utiliser fsvs, que je viens de découvrir, il faudra que je regarde comment ça fonctionne ça risque de me servir pour la dizaine de serveurs linux que j'ai au boulot.

http://doc.fsvs-software.org/doxygen-gi … _cmds.html
http://doc.fsvs-software.org/doxygen-gi … howto.html
http://packages.ubuntu.com/search?suite … words=fsvs

Dernière modification par yamo (Le 09/12/2011, à 10:32)


Stéphane
--
Debian 9 XFCE  Xubuntu 16.04.2  - #ubuntu sur freenode

sudo / matrix

Hors ligne

#1500 Le 14/12/2011, à 21:25

olitask

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

titan77 a écrit :

salut,
si tu veut envoyer seulement une image sélectionnée,ce script doit convenir.

#!/bin/sh

if [ -f "$1" ]; then
    notify-send -i "gtk-go-up" "Picasa upload" "Votre image va être envoyée"
    google picasa post --title "Public" "$PWD/$1"

    if [ "$?" -eq "0" ]; then
        notify-send -i "gtk-ok" "Picasa upload" "Votre image est envoyée"
    else
        notify-send -i "process-stop" "Picasa upload" "Votre image n'est pas envoyée"
    fi
else
    notify-send -i "process-stop" "Picasa upload" "Veuillez sélectionner un fichier"
fi

MERCI beaucoup. Désolé pour le contretemps, j'avais zappé ton message

Hors ligne