#!/usr/bin/perl -w
#to install, with sudo
#perl -MCPAN -e 'install Astro::MoonPhase'
# -------------------------------------------------------------------
# File: moon.pl /\
# Type: Perl Script /_.\
# By Fernando Gilli fernandowekers(dot)org _,.-'/ `",\'-.,_
# Last modified:2023-09-21 -~^ /______\`~~-^~:
# ------------------------
# Get Moon data from perl module Astro::MoonPhase
# / OS : $Linux, $FreeBSD (X Window)
# -------------------------------------------------------------------
use warnings;
use strict;
use POSIX qw(strftime);
use Astro::MoonPhase;
my @phases = phasehunt();
#print "New Moon = ", scalar(localtime($phases[0])), "\n";
#print "First quarter = ", scalar(localtime($phases[1])), "\n";
#print "Full moon = ", scalar(localtime($phases[2])), "\n";
#print "Last quarter = ", scalar(localtime($phases[3])), "\n";
#print "New Moon = ", scalar(localtime($phases[4])), "\n";
open(my $fh, '>', 'moon_phase_die');
print $fh "Full Moon\n";
print $fh ucfirst strftime("%b %d", localtime($phases[2])), "\n";
print $fh "New Moon\n";
print $fh ucfirst strftime("%b %d", localtime($phases[4])), "\n";
close $fh;
jueves, 21 de septiembre de 2023
conky (implementando perl para las fases lunares)
domingo, 18 de septiembre de 2022
Conky y una implementación de Mapa mundial de luz solar
Cómo funciona:
Observe
cómo sale y se pone el sol en todo el mundo en esta ilustración en
tiempo real generada por computadora de los patrones de luz solar y
oscuridad de la Tierra. Las nubes se actualizan diariamente con imágenes satelitales meteorológicas actuales.
Comienza con imágenes sin nubes de la tierra durante el día (de un par de satélites de la NASA) y la noche (de un programa del Departamento de Defensa para mapear las luces de la ciudad). Todos los días, descarga una imagen de nubes compuestas basada en datos de satélites meteorológicos de todo el mundo. Y cada media hora, estas imágenes son compuestas y mapeadas en una esfera por xplanet según la posición relativa del sol. Los mapas planos son procesados posteriormente por ImageMagick para cortar los 15 grados más cercanos a los polos norte y sur donde los datos de nubes no están disponibles.
He realizado una nueva implementación para una versión anterior de conky en la que ya estaba trabajando con datos del clima y una API de Open Weather Map.
Para ello agregué el siguiente sript (en bash) para poder descargar el mapa mundial de luz solar desde el sitio die.net y adecuarlo con los datos meteorológicos que ya tengo:
#!/bin/bash
# -------------------------------------------------------------------
# File: GetWorldSunlightMap.sh
# By Julio Alberto Lascano http://drcalambre.blogspot.com/
#________ _________ .__ ___.
#\______ \_______ \_ ___ \_____ | | _____ _____\_ |_________ ____
# | | \_ __ \ / \ \/\__ \ | | \__ \ / \| __ \_ __ \_/ __ \
# | ` \ | \/ \ \____/ __ \| |__/ __ \| Y Y \ \_\ \ | \/\ ___/
#/_______ /__| \______ (____ /____(____ /__|_| /___ /__| \___ >
# \/ \/ \/ \/ \/ \/ \/
# -------------------------------------------------------------------
# Get World Sun light Map from https://www.die.net/earth/
# Watch the sun rise and set all over the world on this real-time,
# computer-generated illustration of the earth's patterns of sunlight
# and darkness.
# The clouds are updated daily with current weather satellite imagery.
# -------------------------------------------------------------------
# Last modified:2022-09-15
# -------------------------------------------------------------------
# Working directory
DirShell="$HOME/.cache"
# World Sun light Map image
# Can't download direct with wget
# To get World Sun light Map image -> Pass Cloudflare DDOS Protection
curl https://static.die.net/earth/mercator/280.jpg --output "${DirShell}"/world_sunlight_map.jpg \
-H 'Host: static.die.net' \
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0' \
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
-H 'Accept-Language: en-US,en;q=0.5' \
-H 'Referer: https://static.die.net/moon' \
-H 'Connection: keep-alive' --compressed
#EOF
Y en el archivo conky.conf e adicionado la siguiente sección para poder mostrarla y actualizarla con una frecuencia de cada 15 minutos (900 intervalos de 1 segundo que efectúa conky). Lo que nos brinda una vista, no solo de luz solar, sino también de las nubosidades sobre los continentes que son reales:
# --- World Sunlight Map --- #
${execi 900 bash ~/.config/conky/scripts/GetWorldSunlightMap.sh}
${image ~/.cache/world_sunlight_map.jpg -p 0,840 -s 254x142 -n}
Así es como se vería
Esta actualización para conky puede ser descargada desde acá
jueves, 15 de septiembre de 2022
conky con: API openWeatherMap mas una brújula para indicar la dirección del viento y la luna observada desde la Patagonia Argentina
El fondo de escritorio es una fotografía de un atardecer en una de mis salidas en bicicleta por la costanera de Rio Gallegos (Argentina)
descargue los archivos de configuración desde acá
el contenido del archivo open-weather-map-wather-conky-master.zip descargado es el que se muestra a continuación:
Para utilizar esta configuración de conky, hay que registrarse en OpenWeatherMap haciendo clic acá lo que le generará su propia API-KEY
Dentro de la carpeta scripts se encuentran los siguientes archivos. Uno de ellos tendrá que ser modificado por usted con su propia API-KEY de OpenWeatherMap luego de su registración.
#!/bin/bash
# -------------------------------------------------------------------
# File: openWeatherMap-weather.sh
# Type: Bash Shell Script
# By Julio Alberto Lascano http://drcalambre.blogspot.com/
#________ _________ .__ ___.
#\______ \_______ \_ ___ \_____ | | _____ _____\_ |_________ ____
# | | \_ __ \ / \ \/\__ \ | | \__ \ / \| __ \_ __ \_/ __ \
# | ` \ | \/ \ \____/ __ \| |__/ __ \| Y Y \ \_\ \ | \/\ ___/
#/_______ /__| \______ (____ /____(____ /__|_| /___ /__| \___ >
# \/ \/ \/ \/ \/ \/ \/
#
# Last modified:2022-09-15
# -------------------------------------------------------------------
# RGL : Rio Gallegos city, Argentina lat= -51.6226&lon=-69.2181
# To get information in JSON format: https://openweathermap.org/current#current_JSON
# For help: https://openweathermap.org/current#parameter
# -------------------------------------------------------------------
# 5 day weather forecast: https://openweathermap.org/forecast5
# You can search weather forecast for 5 days with data every 3 hours by geographic coordinates.
# All weather data can be obtained in JSON and XML formats.
# [cnt] optional A number of days, which will be returned in the API response (from 1 to 16)
# Example of API call: http://api.openweathermap.org/data/2.5/forecast/daily?q=London&cnt=3&appid={API key}
# -------------------------------------------------------------------
# API call
# api.openweathermap.org/data/2.5/forecast?lat={lat}&lon={lon}&appid={API key}
# https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={API key}
# -------------------------------------------------------------------
# Current Weather
urlweather="https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={API key}&units=metric&lang=es"
# Extended forecast Weather
urlforecast="api.openweathermap.org/data/2.5/forecast?lat={lat}&lon={lon}&cnt=3&appid={API key}&units=metric&lang=es"
curl ${urlweather} -s -o ~/.cache/openweathermap.json
curl ${urlforecast} -s -o ~/.cache/openweathermap-forecast.json
El otro archivo que tendría que ser modificado por usted seria el que recaba los datos de las fases lunares. Yo para esta implementación he obtenido un muy buen script en bash GetMoon.sh que programo Fernando Gilli fernando<at>wekers(dot)org (mis respetos a él por el buen trabajo que hizo).
Yo hice mi propia implementación de la manera que se muestra a continuación (usted es libre de adecuarlo al hemisferio en que vive para mostrar de manera correcta las fases lunares)
#!/bin/bash
# -------------------------------------------------------------------
# File: GetMoon.sh /\
# Type: Bash Shell Script /_.\
# By Fernando Gilli fernandowekers(dot)org _,.-'/ `",\'-.,_
# ------------------------ -~^ /______\`~~-^~:
# Get Moon data from moongiant.com
# / OS : $Linux, $FreeBSD (X Window)
# ------------------------
# adapted for the current version by:
#________ _________ .__ ___.
#\______ \_______ \_ ___ \_____ | | _____ _____\_ |_________ ____
# | | \_ __ \ / \ \/\__ \ | | \__ \ / \| __ \_ __ \_/ __ \
# | ` \ | \/ \ \____/ __ \| |__/ __ \| Y Y \ \_\ \ | \/\ ___/
#/_______ /__| \______ (____ /____(____ /__|_| /___ /__| \___ >
# \/ \/ \/ \/ \/ \/ \/
# Julio Alberto Lascano http://drcalambre.blogspot.com/
# Last modified:2022-09-15
# -------------------------------------------------------------------
# Working directory
DirShell="$HOME/.cache"
# set language
lang="pt-es"
# put your hemisphere here:
# n for north
# s for south
hemisphere=s
# ****************************
wget -q -O ${DirShell}/raw "http://www.moongiant.com/phase/today" > /dev/null 2>&1
sleep 1
cp ${DirShell}/raw ${DirShell}/ico
[ -f ${DirShell}/moon_tmp.jpg ] && rm ${DirShell}/moon_tmp.jpg
[ -f ${DirShell}/moon.jpg ] && rm ${DirShell}/moon.jpg
sed -i -e '/^ *$/d' -e 's/^ *//g' ${DirShell}/raw
sed -i '/Illumination/!d' ${DirShell}/raw
sed -i 's/
/\n/g' ${DirShell}/raw
sed -i 's|<[^>]*>||g' ${DirShell}/raw
sed -i -e '4d' ${DirShell}/raw
#ico name
sed -i '/var jArray=\|"todayMoonContainer"/!d' ${DirShell}/ico
sed -i -e 's/"\]};//g' -e 's/^.*today_phase\///g' -e 's/\.jpg.*$//g' ${DirShell}/ico
cat ${DirShell}/ico >> ${DirShell}/raw
img_in=$(sed -n 4p ${DirShell}/raw)
[ -f ${DirShell}/ico ] && rm ${DirShell}/ico
now=$(date --date="now" +%H)
# Moon image
if [[ $now -ge 18 || $now -lt 06 ]]; then
# $now >=18 or $now < 06 --> day moon -> more light
wget -q --output-document=${DirShell}/moon_tmp.jpg https://www.moongiant.com/images/today_phase/$img_in.jpg > /dev/null 2>&1
else
# night moon -> dark
# Can't download direct with wget
# To get moon image -> Pass Cloudflare DDOS Protection
curl https://static.die.net/moon/210.jpg --output "${DirShell}"/moon_tmp.jpg \
-H 'Host: static.die.net' \
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0' \
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
-H 'Accept-Language: en-US,en;q=0.5' \
-H 'Referer: https://static.die.net/moon' \
-H 'Connection: keep-alive' --compressed
fi
# mirror moon image, hemisphere south
case $hemisphere in
s)
convert -flop -colorspace rgb ${DirShell}/moon_tmp.jpg ${DirShell}/moon.jpg
rm ${DirShell}/moon_tmp.jpg
;;
*)
convert -colorspace rgb ${DirShell}/moon_tmp.jpg ${DirShell}/moon.jpg
rm ${DirShell}/moon_tmp.jpg
;;
esac
# Translate pt-es (moon phase name)
case $lang in
pt-es)
sed -i -e 's/New Moon/Luna Nueva/g' ${DirShell}/raw
sed -i -e 's/Full Moon/Luna Llena/g' ${DirShell}/raw
sed -i -e 's/Waxing Crescent/Luna Creciente/g' ${DirShell}/raw
sed -i -e 's/Waxing Gibbous/Luna Menguante/g' ${DirShell}/raw
sed -i -e 's/Waning Crescent/Creciente Menguante/g' ${DirShell}/raw
sed -i -e 's/Waning Gibbous/Luna Menguante/g' ${DirShell}/raw
sed -i -e 's/First Quarter/Cuarto Creciente/g' ${DirShell}/raw
sed -i -e 's/Last Quarter/Cuarto Minguante/g' ${DirShell}/raw
;;
esac
# exec too
bash ~/.config/conky/scripts/lune_die.sh > /dev/null 2>&1
#EOF
Con esto ya estaría en condiciones de volcar sus modificaciones en el lugar adecuado para que conky lea el archivo de configuración conky.conf de manera correcta:
vuelque sus archivos y carpetas en $HOME/.config/conky/
Para poder trabajar con archivos JSON es necesario instalar la utilidad jq
Con el comando jq puede transformar JSON de varias maneras, seleccionando, iterando, reduciendo y alterando documentos JSON. Yo lo utilizo desde conky.conf para ir recuperando los datos que ya se han descargado con la llamada a la API de openweathermap.
Para ello abra una terminal y como root instale jq (Command-line JSON processor)
También para realizar ciertas operaciones matemáticas, buscar palabras, patrones de palabras y reemplazarlos por otras palabras y/o patrones yo utilizo awk
Para ello desde la terminal y como root instale gawk
Para mostrar correctamente la luna en el hemisferio sur (Argentina) se hace uso de convert
Luego de ejecutar el script, este realizara una llamada a la API de openweathermap y generará por primera ves los archivos json
Con esto quedaría finalizado el instructivo y ya estaría en condiciones de correr conky desde cualquier terminal.
martes, 10 de agosto de 2021
Actualización problemática de connman en antiX 19.4
ConnMan es un demonio para administrar conexiones a Internet dentro de un dispositivo integrado e integra una amplia gama de funciones de comunicación que generalmente se dividen entre muchos demonios como DHCP, DNS y NTP.
El resultado de esta consolidación es un bajo consumo de memoria con una reacción rápida, coherente y sincronizada a las condiciones cambiantes de la red.
La última actualización de connman quizo hacer más fácil cambiar entre diferentes administradores de red y liberar a connman de su necesidad de controlar /etc/resolv.conf, pero en su lugar rompió la configuración actual en los dispositivos antiX 19.X instalados.
Hay dos métodos para solucionar la pérdida de conexión a Internet.
SIGUE SOLO UNO DE ELLOS:
[1:00] A. Restaure connman como estaba antes de la actualización borrando el archivo de configuración predeterminado de connman:
sudo rm /etc/default/connman
[2:20] B. Cambie el enlace simbólico de resolución de DNS a uno que sea compatible con la actualización:
sudo ln -sf /run/resolvconf/resolv.conf/etc/resolv.conf
Cualquiera de los métodos anteriores arreglará la conexión a Internet después de reiniciar.
jueves, 18 de junio de 2020
Cómo enviar audio y vídeo de GNU/Linux a Chromecast.
sudo apt install mkchromecast
Los usuarios de GNU/Linux pueden intentar instalar estos requisitos de Python utilizando los administradores de paquetes que vienen con sus distribuciones.
Ejemplo para distribuciones basadas en Debian:
sudo apt install python3.6 python3-pip python3-pychromecast python3-flask python3-psutil python3-setuptools python3-mutagen python3-gi vorbis-tools sox lame flac faac opus-tools ffmpeg libav-tools pavucontrol python3-pyqt5
mkchromecast
Para transmitir usando parec y el formato wav de codificación de audio:
mkchromecast -c wav
También hay una opción para cambiar la tasa de bits, y en este caso con ffmpeg:
mkchromecast --encoder-backend ffmpeg -c ogg -b 128
y otro para cambiar la frecuencia de muestreo:
mkchromecast --encoder-backend ffmpeg -c ogg -b 128 --sample-rate 48000
mkchromecast -t
Puede reproducir URL de YouTube (u otros sitios) desde la línea de comandos:
mkchromecast -y https://www.youtube.com/watch\?v\=J1LmiKO03S0 --video --control
Para usar esta función, necesita instalar youtube-dl. En distribuciones basadas en Debian:
apt install youtube-dl
Puede reproducir cualquier URL de origen desde la línea de comandos:
mkchromecast --source-url SOURCE_URL
- Transmitir usando MPD en el caso de que ya tenga una fuente de transmisión http.
- Lanzar una estación de radio.
mkchromecast --source-url http://18733.live.streamtheworld.com:3690/LOS40_ARGENTINA_SC -c ogg --control
Como se puede ver arriba, el códec debe especificarse con la bandera -c.Nota: .m3u o .pls aún no son compatibles.
mkchromecast --encoder-backend ffmpeg -c ogg -b 320 --control
- wav + 96000Hz frecuencia de muestreo.
- flac + frecuencia de muestreo de 96000Hz.
Video
- Transmita un archivo desde su computadora a su Chromecast:
mkchromecast --video -i "/path/to/file.mp4"
- Subtítulos:
mkchromecast --video -i "/tmp/Homeland.S06E01.Fair.Game.1080p.AMZN.WEBRip.HEVC.DD5.1.x265.mkv" --subtitles /tmp/Homeland.S06E01.Fair\ Game.HDTV.x264-BATV.en.HI.srt
Nota: Asegúrese que los subtítulos no tengan errores en la codificación de caracteres (UTF-8, Windows-1252... etc), dado que de ser así ffmpeg fallará, truncando la transmisión. En el caso que esto sucediese, los subtítulos se pueden arreglar mediante Aegisub (Aegisub es una herramienta gratuita de código abierto multiplataforma para crear, modificar, recodificar y exportar a otros formatos de subtítulos muy interesantes como SSA/ASS más avanzado que el SRT.)- Establecer la resolución:
mkchromecast --video --resolution 4k -i /path/to/myvideo.something --subtitles /path/to/my.srt
- Transmitir desde una URL de origen:
mkchromecast --source-url http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 -c mp4 --volume --video
- Video de Youtube
mkchromecast -y https://www.youtube.com/watch\?v\=J1LmiKO03S0 --video --control
- ¿Cómo actualizo youtube-dl ?
sudo youtube-dl -U
Si ha usado pip, una simple instalación de sudo pip -U youtube-dl es suficiente para actualizar.
sudo pip install -U youtube-dl
Si ha instalado youtube-dl usando un administrador de paquetes como apt-get o yum, use el mecanismo de actualización del sistema estándar para actualizar. Tenga en cuenta que los paquetes de distribución a menudo están desactualizados. - Matar a la aplicación:
Más ayuda
Para obtener más ayuda:
mkchromecast -h
- Problemas conocidos
Las versiones de Mkchromecast inferiores a 0.3.7 no pueden funcionar con versiones más recientes de pychromecast.
Cuando se transmiten videos usando el nodo backend, no es posible usar ni las marcas --subtitle ni --seek.
Al transmitir a Sonos, los únicos códecs compatibles son: mp3 y aac. No le daré soporte a wma. Aparentemente hay una forma de jugar wav y ogg que intentaré implementar más tarde.
También puede consultar las preguntas frecuentes para obtener más información.
viernes, 12 de abril de 2019
Respaldo de bases de datos MySQL de un servidor Debian, con otro puesto de Debian, mediante Samba.
#/etc/samba/smb.conf [global] workgroup = INFORMATICA server string = Julio Alberto Lascano - (Samba Server %h) netbios name = DEBIAN-JULIO map to guest = bad user #
Depurar la información de registro # log file log file = /var/log/samba/log.%m #
nivel de registro general log level = 3 [backup-mysql] comment = solo para grupo administracion backup server mysql path = /home/julio/backup/mysql browseable = yes read only = yes guest ok = no write list = @administracion valid users = @administracion
Hacemos un testparm para validar el contenido del fichero de configuración smb.conf
root@sistem:/home/julio# testparm /etc/samba/smb.conf
A continuación creamos el grupo y el usuario que manejará el acceso a samba. Creamos el grupo administracion.
root@sistem:/home/julio# groupadd administracion
Añadimos un usuario al grupo para hacer luego las pruebas (creamos el usuario en la máquina y después su password):
root@sistem:/home/julio# useradd administracionuser
root@sistem:/home/julio# passwd administracionuser
Añadimos el usuario administracionuser al grupo administracion. Como ya existen, no usaremos
root@sistem:/home/julio# useradd -g administracion administracionuser
Sino:
root@sistem:/home/julio# usermod -g administracion administracionuser
Crear usuarios locales como usuarios de SAMBA
root@sistem:/home/julio# smbpasswd -a administracionuser
Permisos locales adecuados para los recursos compartidos SAMBA
root@sistem:/home/julio# chmod 775 /home/julio/backup/mysql
Y cambiamos el usuario y grupo propietarios al grupo que puede escribir :
root@sistem:/home/julio# chown -hR root:administracion /home/julio/backup/mysql
Reiniciamos el servidor SAMBA.
root@sistem:/home/julio# /etc/init.d/samba-ad-dc restart
Ahora desde el servidor debian mysql/mariadb (192.168.0.1) verficamos los recursos que está compartiendo el servidor SAMBA (192.168.0.2)
root@sistem:/home/julio# smbclient --list 192.168.0.2
Que nos mostrará una salida similar a esta:
root@spse:/home/julio# smbclient --list 192.168.0.2
Enter root's password:
Domain=[INFORMATICA] OS=[Windows 6.1] Server=[Samba 4.2.14-Debian]
Sharename Type Comment
--------- ---- -------
backup-mysql Disk solo para grupo administracion backup server mysql
IPC$ IPC IPC Service (Julio Alberto Lascano - (Samba Server sistem))
Domain=[INFORMATICA] OS=[Windows 6.1] Server=[Samba 4.2.14-Debian]
Finalizada la configuración del servidor Samba del puesto 192.168.0.2, procederemos a la creación de 2 (dos) scripts. en lenguaje bash.
Luego, serán agregados como tareas diarias automáticas, mediante crontab, en el Servidor MySQL/MariaDB 192.168.0.1
Los scripts :
root@spse:/home/julio/fuentes/bash# ls -l
total 8
-rwxrwx--- 1 root root 589 abr 9 14:47 backupToJulio.sh
-rwxrwxr-x 1 root root 477 abr 4 12:05 mysqldump.sh
root@spse:/home/julio/fuentes/bash#
- mysqldump.sh (Será utilizado para generar los scripts de creación de las bases de datos (estructuras de tablas y datos de las mismas) del servidor MySQL 192.168.0.1)
- backupToJulio.sh (backup bases de datos a otro disco de la red, en este caso el servidor SAMBA 192.168.0.2)
#!/bin/sh
# Esto volcará todas tus bases de datos.
# **************************************
# mysqldump.sh
# **************************************
DATE=$(date +%Y%m%d%H%M)
for DB in $(echo "show databases" | mysql --defaults-file=/etc/mysql/debian.cnf -N)
do
mysqldump --defaults-file=/etc/mysql/debian.cnf --single-transaction $DB > /root/mysql/backup/${DB}_${DATE}.sql
gzip /root/mysql/backup/${DB}_${DATE}.sql
done
# Borrar los respaldos que tengan mas de 5 dias (economiza espacio del server)
find /root/mysql/backup/ -name "*.sql*" -mtime +5 -exec rm -vf {} \;
#!/bin/sh # ********************************************************** # backup bases de datos a otro disco de la red (192.168.0.2) # ********************************************************** # backupToJulio.sh # ********************************************************** # montar con cifs-utils mount -t cifs //192.168.0.2/backup-mysql /home/julio/papelera -o username=administracionuser,password=
administracionuser
,domain=INFORMATICA if [ $? = 0 ]; then # copiar al puesto 192.168.0.2 (que está montado en /home/julio/papelera) find /root/mysql/backup/ -name "*.sql*" -mtime -1 -exec cp -v {} /home/julio/papelera/ \; umount /home/julio/papelera/ fi
Solo resta automatizar la ejecución diaria de esto scripts. Para ello, los agragaremos como una tarea cron de root. Acerca de como agragar tareas cron remítase a este tutorial
root@spse:~# crontab -l
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
25 6 * * 1-5 /home/julio/fuentes/bash/mysqldump.sh
59 11 * * 1-5 /home/julio/fuentes/bash/backupToJulio.sh
root@spse:~#
En este caso hemos configurado a cron para que ejecute mysqldump.sh (192.168.0.1) todos los días habiles (LUN-VIE) a las 06:25 AM
Y para respaldar en el otro disco (192.168.0.2) mediante backupToJulio.sh todos los días habiles (LUN-VIE) a las 11:59 AM
martes, 14 de abril de 2015
pysheng - Como descargar libros de Google Books
Descargar pysheng (sitio oficial)
viernes, 13 de marzo de 2015
Cómo configurar un entorno limpio UTF-8 en Linux
Para trabajar de manera eficiente con datos de texto, su entorno tiene que estar configurado correctamente - es mucho más fácil de depurar un problema que tiene problemas de codificación y que si se puede confiar en su terminal se muestre correctamente UTF-8.
Yo te mostraré cómo crear un ambiente tan limpio en Debian Lenny, pero la mayoría de las cosas de trabajar independientemente de la distribución, y parte de ella incluso trabajar en otros sistemas operativos con sabor a Unix como MacOS X.
Configuraciones regionales: instalación
Compruebe que ha instalado el paquete locales.
En Debian se puede hacer eso con:
$ dpkg -l locales
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-==============-==============-============================================ ii locales 2.7-18 GNU C Library: National Language (locale) da
La última línea es la importante: si empieza con ii, se instala el paquete, y todo está bien. Si no, instalarla. Como root, teclee:
$ aptitude install locales
Si usted recibe un cuadro de diálogo pidiendo información, sigue leyendo a la siguiente sección.
asegurarse de que en el sistema se genera locales UTF-8.
Como root, teclee:
# dpkg-reconfigure locales
Usted verá una larga lista de lugares, y se puede navegar la lista con las teclas de flecha
arriba / abajo. Al pulsar la barra espaciadora cambia la configuración regional bajo el cursor.
Asegúrese de seleccionar al menos una localización UTF-8, por ejemplo en_US-UTF-8 es generalmente
apoyado muy bien. (La primera parte del nombre de entorno nacional representa el idioma,
el segundo para el país o dialecto, y el tercero para la codificación de caracteres).
En el siguiente paso usted tiene la opción de hacer uno de los lugares previamente seleccionados
por defecto. Escoger un defecto UTF-8 por defecto suele ser una buena idea, aunque podría cambiar
la acción de algunos programas, por lo que no debe hacerse servidores que alojan aplicaciones
sensibles.
si elige una configuración regional predeterminada en el paso anterior, salga completamente y
luego conectarse de nuevo. En cualquier caso, usted puede configurar el entorno de cada usuario
con variables de entorno.
Las siguientes variables pueden afectar los programas:
LANG, LANGUAGE, LC_CTYPE,
LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, LC_PAPER, LC_NAME,
LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT, LC_IDENTIFICATION.
La mayoría de las veces funciona para establecer todos estos en el mismo valor. En lugar de
establecer todas las variables LC_ por separado, se puede establecer el LC_ALL.
Si utiliza bash como shell, puede poner estas líneas en su
~ / .bashrc
y
~ / .profile archivos:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
para realizar estos cambios activa en el shell actual, la fuente el .bashrc:
fuente: http://perlgeek.de