shaker.umh.es menu
CSS Drop Down Menu by PureCSSMenu.com


1.- crontab permite lanzar trabajos en diferido.

crontab -e: editar. ctrl+i: insertar contenido, ":wq"; escribir/guardar y salir (write & quit).

crontab -r: borrar.

crontab -l: comprobar un crontab programado.

I ran crontab -e and made some changes, now how do I save it?. That depends on the editor you run. contab -e uses the editor specified in the environment variable $EDITOR. Most probably it's vi or nano.

  • In vi, to enter the text you have to put vi in insert by pressing "i" or "a" after which you can add the text and whatever is being type will be seen on the screen, and press esc to switch to the command mode, then type :wq to write (w) and quit (q).
  • In nano press ctrl+x, then press y for yes and provide a filename before pressing Enter.
Example:
40       20       25       09       *   /usr/bin/python /home/jant/2vbc/_gensbatchs.py
min      hor      dia      mes     año  /path/program /path/script 

2.- Syntax to rename a directory on Unix.
mv old-folder-name new-folder-name
mv /path/to/old /path/to/new

3.- Contar un gran número de ficheros.

Ejecuta el siguiente comando desde la consola y dentro del directorio en el que quieras contar esos ficheros. En el ejemplo contarás los ficheros *.docked.pdbqt

find -type f -name '*.docked.pdbqt' | wc -l

Memoria libre en cada nodo, para SGE.

qstat -f -u '*' -F mem_free

Cuando quieres listar el contenido de un directorio donde existen muchos ficheros y con ls aparece el argumento "Argument list too long". La solución está en el siguiente comando que has de modificar en función del /directorio y el tipo de archivo a buscar, en mi caso ".docked.pdbqt". Generará el fichero lista-hechos.txt... ¡mano de santo!

find /directorio -name "*.docked.pdbqt" >/directorio/lista-hechos.txt
find -type f -name '*.docked.pdbqt' >lista-hechos.txt

Jobs en array que deben usar 2 CPUs.

#!/bin/bash
#$ -cwd
#$ -N crp1b09
#$ -o o.1b09
#$ -e e.1b09
#$ -pe shm.pe 2 <-------
#$ -S /bin/bash
#$ -t 1-16482

cd /home/jant/CRP/1b09/
IDLIG=`python _getidligands.py /home/jant/CRP/1b09/_lista.16482.txt $SGE_TASK_ID`
lenid=${#IDLIG}
IDLIGAND=${IDLIG:0:lenid-1}
/home/jant/autodock_vina_1_1_2_linux_x86/bin/vina --config /home/jant/CRP/1b09/vina_config_files/$IDLIGAND.vina_config.txt --log /home/jant/CRP/1b09/docked-log/$IDLIGAND.log --cpu 2

4.- Borrar un gran número de ficheros.

Ejecuta el siguiente comando desde la consola y dentro del directorio en el que quieras borrar esos ficheros. En el ejemplo contarás los ficheros *.docked.pdbqt

find . -name "*.docked.pdbqt" -print0 | xargs -0 rm

5.- Para conocer los N directorios de nuestro /home organizados de mayor a menor:

Tamaño en Megas

du -sm * | sort -nr | head -N

Tamaño en Gigas

du -hs * | sort -nr | head -N

The output of the "ls" command depends on the version of "ls", the options used, the platform used, etc. It appears from your example that you're using it from a typical un*x (such as Linux), and probably using a typical modern "ls" version. In which case:

-rwxrw-r--    10    root   root 2048    Jan 13 07:11 afile.exe
?UUUGGGOOOS   00  UUUUUU GGGGGG ####    ^-- date stamp and file name are obvious ;-)
^ ^  ^  ^ ^    ^      ^      ^    ^
| |  |  | |    |      |      |    \--- File Size
| |  |  | |    |      |      \-------- Group Name (for example, Users, Administrators, etc)
| |  |  | |    |      \--------------- Owner Acct
| |  |  | |    \---------------------- Link count (what constitutes a "link" here varies)
| |  |  | \--------------------------- Alternative Access (blank means none defined, anything else varies)
| \--\--\----------------------------- Read, Write and Special access modes for [U]ser, [G]roup, and [O]thers (everyone else)
\------------------------------------- File type flag

6.- Copiar una lista ficheros de una carpeta a otra:

Generamos la lista con el nombre de los ficheros a copiar dispuestos en columna.

import sys
import fileinput
import os ,shutil
diroutsh='./'
namelista=sys.argv[1]
file = open(namelista, 'r')
filestr=file.read()
vecfile=filestr.split('\r\n')
print  len(vecfile)
for fileele in vecfile:
    if os.path.exists(diroutsh+'folder_origen/'+fileele+'.log'):
        shutil.copy(diroutsh+'folder_origen/'+fileele+'.log', diroutsh+'folder_destino/'+fileele+'.log')
#print "copied:",fileele+'.log'

EJECUCIÓN: python script_name.py list.txt