<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Veinti1 &#187; code</title>
	<atom:link href="http://veinti1.com/category/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://veinti1.com</link>
	<description>.. mi pequeña guarida ..</description>
	<lastBuildDate>Fri, 23 Mar 2012 09:23:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Regenerar miniaturas &#8211; Prestashop</title>
		<link>http://veinti1.com/regenerar-miniaturas-prestashop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=regenerar-miniaturas-prestashop</link>
		<comments>http://veinti1.com/regenerar-miniaturas-prestashop/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 12:31:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[prestashop]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=242</guid>
		<description><![CDATA[Prestashop cuenta con una funcionalidad para regenerar las miniaturas que genera por cada imagen automaticamente unas copias de ella misma en diferentes resoluciones, el problema es que si estas ya se encuentran creadas no las sobreescribe, pero esto tiene fácil solución si localizamos donde comprueba en el código si existe previamente. Para la versión, 1.4.3, [...]]]></description>
			<content:encoded><![CDATA[<p>Prestashop cuenta con una funcionalidad para regenerar las miniaturas que genera por cada imagen automaticamente unas copias de ella misma en diferentes resoluciones, el problema es que si estas ya se encuentran creadas no las sobreescribe, pero esto tiene fácil solución si localizamos donde comprueba en el código si existe previamente.</p>
<p>Para la versión, 1.4.3, comentad las lineas 315, 316 y 317<br />
File: admin/tabs/AdminImages.php<br />
<code><br />
linea 315: //if (!file_exists($newDir))<br />
linea 316: //      continue;<br />
linea 317: //if (!file_exists($newDir.substr($image, 0, -4).'-'.stripslashes($imageType['name']).'.jpg'))<br />
linea 318: if (!imageResize($dir.$image, $newDir.substr($image, 0, -4).'-'.stripslashes($imageType['name']).'.jpg', (int)($imageType['width']), (int)($imageType['height'])))</p>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/regenerar-miniaturas-prestashop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script bash &#8211; busca el archivo más nuevo por directorio</title>
		<link>http://veinti1.com/script-bash-busca-el-archivo-mas-nuevo-por-directorio/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-bash-busca-el-archivo-mas-nuevo-por-directorio</link>
		<comments>http://veinti1.com/script-bash-busca-el-archivo-mas-nuevo-por-directorio/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 07:36:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=239</guid>
		<description><![CDATA[Este script, lo he utilizado para revisar cada cuanto tiempo se llevaba a cabo las copias de seguridad de los usuarios del sistema. El funcionamiento es bien sencillo, en un directorio madre, busca en sus subdirectorios el archivo más nuevo y lo guarda en un fichero, de esta forma podemos saber hace cuanto que no [...]]]></description>
			<content:encoded><![CDATA[<p>Este script, lo he utilizado para revisar cada cuanto tiempo se llevaba a cabo las copias de seguridad de los usuarios del sistema. El funcionamiento es bien sencillo, en un directorio madre, busca  en sus subdirectorios el archivo más nuevo y lo guarda en un fichero, de esta forma podemos saber hace cuanto que no ingresa ningún nuevo archivo a una carpeta determinada.</p>
<p>En mi caso, tengo un segundo script que lee este fichero y en función de un tiempo determinado alerta al usuario de que debería de realizar un Backup, pero es simplemente un uso que podemos darle.</p>
<p><code><br />
#!/bin/bash<br />
FILE=/home/datesBackup.txt<br />
rm $FILE<br />
#Borro el fichero antes de comenzar<br />
for i in `ls -l /home | gawk '{print $8}'`<br />
do<br />
        find /home/$i -type f | xargs ls -alt | head -n 1 | gawk '{print $3, $6}' >> $FILE |  grep -v 'ls:'  | grep -v 'xargs:'<br />
done<br />
#Listo todos los directorios de /home y almaceno en la variable i<br />
#Por cada un o de ellos busco el más nuevo y lo empipo al Fichero que antes borramos, filtrando posibles errores<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/script-bash-busca-el-archivo-mas-nuevo-por-directorio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script para hacer Backups</title>
		<link>http://veinti1.com/script-para-hacer-backups/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-para-hacer-backups</link>
		<comments>http://veinti1.com/script-para-hacer-backups/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 03:36:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=164</guid>
		<description><![CDATA[Me he hecho un pequeño script en Python que llamo todos los dias en en el cron para que me haga un backup. Utiliza scp y lo tengo configurado con certificado de la máquina &#8216;backup&#8217; hacía la que va a copiar. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [...]]]></description>
			<content:encoded><![CDATA[<p>Me he hecho un pequeño script en Python que llamo todos los dias en en el cron para que me haga un backup.<br />
Utiliza scp y lo tengo configurado con certificado de la máquina &#8216;backup&#8217; hacía la que va a copiar.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>, <span style="color: #dc143c;">time</span>, <span style="color: #dc143c;">smtplib</span>, <span style="color: #dc143c;">sys</span>, <span style="color: #dc143c;">subprocess</span>, <span style="color: #dc143c;">StringIO</span>
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">image</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEImage
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">text</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEText
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">multipart</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEMultipart
&nbsp;
<span style="color: #dc143c;">email</span> = <span style="color: #483d8b;">&quot;email@dominio&quot;</span> <span style="color: #808080; font-style: italic;">#email al que vas a enviar</span>
email_from = <span style="color: #483d8b;">&quot;email@dominio&quot;</span> <span style="color: #808080; font-style: italic;">#Desde el que vas a enviar</span>
path = <span style="color: #483d8b;">&quot;/path/donde/guardar/el/backup&quot;</span>
path_l = path + <span style="color: #483d8b;">&quot;files/&quot;</span>
path_h = <span style="color: #483d8b;">&quot;/path/de/la/maquina/remota/a/copiar&quot;</span>
host = <span style="color: #483d8b;">&quot;ip_o_dominio&quot;</span>
<span style="color: #dc143c;">user</span> = <span style="color: #483d8b;">&quot;cacaue&quot;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> writelog<span style="color: black;">&#40;</span>content<span style="color: black;">&#41;</span>:
log=<span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path+<span style="color: #483d8b;">'log.txt'</span>, <span style="color: #483d8b;">'a'</span><span style="color: black;">&#41;</span>
log.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">time</span>.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%d %m %Y %H:%M&quot;</span><span style="color: black;">&#41;</span>+<span style="color: #483d8b;">&quot;  &quot;</span>+content+<span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span>
log.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> sendemail<span style="color: black;">&#40;</span>content, asunto<span style="color: black;">&#41;</span>:
msg = MIMEMultipart<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'To'</span><span style="color: black;">&#93;</span> = <span style="color: #dc143c;">email</span>
msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'Cc'</span><span style="color: black;">&#93;</span> = <span style="color: #483d8b;">&quot;&quot;</span>
msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'From'</span><span style="color: black;">&#93;</span> = email_from
msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'Subject'</span><span style="color: black;">&#93;</span> = asunto
text = MIMEText<span style="color: black;">&#40;</span>content<span style="color: black;">&#41;</span>
text.<span style="color: black;">add_header</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Content-Disposition&quot;</span>, <span style="color: #483d8b;">&quot;inline&quot;</span><span style="color: black;">&#41;</span>
msg.<span style="color: black;">attach</span><span style="color: black;">&#40;</span>text<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">try</span>:
server=<span style="color: #dc143c;">smtplib</span>.<span style="color: black;">SMTP</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;localhost&quot;</span><span style="color: black;">&#41;</span>
server.<span style="color: black;">sendmail</span><span style="color: black;">&#40;</span>msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'From'</span><span style="color: black;">&#93;</span>, msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'To'</span><span style="color: black;">&#93;</span>, msg.<span style="color: black;">as_string</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
server.<span style="color: black;">quit</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Email enviado a &quot;</span>+msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'To'</span><span style="color: black;">&#93;</span>+<span style="color: #483d8b;">&quot; con el contenido: &quot;</span>+content<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">except</span>:
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Error al enviar email&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
path_backup = path_l+<span style="color: #dc143c;">time</span>.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%d%m%y&quot;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">try</span>:
<span style="color: #dc143c;">os</span>.<span style="color: black;">mkdir</span><span style="color: black;">&#40;</span>path_backup<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">except</span>:
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ya existe --&amp;gt; &quot;</span>+path_backup<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #dc143c;">cmd</span> = <span style="color: #483d8b;">&quot;scp -r &quot;</span>+<span style="color: #dc143c;">user</span>+<span style="color: #483d8b;">&quot;@&quot;</span>+host+<span style="color: #483d8b;">&quot;:&quot;</span>+path_h+<span style="color: #483d8b;">&quot; &quot;</span>+path_backup
<span style="color: #ff7700;font-weight:bold;">try</span>:
f=<span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path+<span style="color: #483d8b;">&quot;temp.txt&quot;</span>, <span style="color: #483d8b;">&quot;w&quot;</span><span style="color: black;">&#41;</span>
retcode = <span style="color: #dc143c;">subprocess</span>.<span style="color: black;">call</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">cmd</span>, shell=<span style="color: #008000;">True</span>, stdin=f, stderr=f<span style="color: black;">&#41;</span>
f.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">if</span> retcode <span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span> <span style="color: #ff4500;">0</span>:
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Child was terminated by signal&quot;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
f=<span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path+<span style="color: #483d8b;">&quot;temp.txt&quot;</span>, <span style="color: #483d8b;">&quot;r&quot;</span><span style="color: black;">&#41;</span>
salida = f.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
f.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">getsize</span><span style="color: black;">&#40;</span>path+<span style="color: #483d8b;">&quot;temp.txt&quot;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">&amp;</span>gt<span style="color: #66cc66;">;</span><span style="color: #ff4500;">0</span>:
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Error en &quot;</span>+host<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
sendemail<span style="color: black;">&#40;</span>salida, <span style="color: #483d8b;">&quot;Backup &quot;</span>+<span style="color: #dc143c;">time</span>.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%d/%m/%y&quot;</span><span style="color: black;">&#41;</span>+<span style="color: #483d8b;">&quot; realizado con exito&quot;</span><span style="color: black;">&#41;</span>
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Realizado con exito&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">OSError</span>, e:
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Execution failed&quot;</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/script-para-hacer-backups/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

