|
22
|
Sistemas Operativos / GNU/Linux / Como hacer un loop en bash?
|
en: 17 Agosto 2015, 15:25 pm
|
Bueno, la cosa es que tengo varias lineas de bash que quiero pasar a un loop, pero no se como hacerlos, si alguien me podria explicar XD? Ejemplo equivalente en php: <? array("usuario1", 22069), ); ?>
Seria lo que se llama una tabla multidimensional, alguien me podria decir como se hacen en bash/linux? chmod 707 -R /home/ftp find /home/ftp -size +100M -exec rm {} \; #SERVER DE PLATIN 22069 chown 22069:2000 -R /home/ftp/oqq77888 find /home/ftp/oqq77888 -type d -size +1500M -exec chmod 000 -R /home/ftp/oqq77888/mods/deathmatch/resource-cache \; find /home/ftp/oqq77888 -type d -size +2000M -exec chmod 000 -R /home/ftp/oqq77888/mta-server \; rm -r /home/ftp/oqq77888/mods/deathmatch/modules #SORTEO SEMANAL #1 >> 24001 chown 24001:2000 -R /home/ftp/ums67776 find /home/ftp/ums67776 -type d -size +1500M -exec chmod 000 -R /home/ftp/ums67776/mods/deathmatch/resource-cache \; find /home/ftp/ums67776 -type d -size +2000M -exec chmod 000 -R /home/ftp/ums67776/mta-server \; rm -r /home/ftp/ums67776/mods/deathmatch/modules
|
|
|
23
|
Programación / PHP / Por qué me aparece a medio cargar la pagina?
|
en: 16 Agosto 2015, 20:49 pm
|
Bueno, tengo un codigo que funciona en sí, o lo hacia hace un rato, y ahora si llamo la funcion dirSize, me salta error <td><?php echo ("DISK"); ?></td> <?php function dirSize($directory) { $size = 0; foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file){ $size+=$file->getSize(); } return $size; } //$mbusados = dirSize($rows['path']); //$porcentaje = dirSize($rows['path'])/(1024*1024/)/(1500)*100; ?> <td>No disponible temporalmente</td>
y la variante $rows['path'] FUNCIONA Mod: No usar icono de resuelto si el tema no esta resuelto.
|
|
|
24
|
Sistemas Operativos / GNU/Linux / Re: Como puedo hacer este comando simple?
|
en: 15 Agosto 2015, 20:32 pm
|
Cuando tu haces: ls -1t
Te devuelve el ultimo fichero modificado y estos pueden ser directorios tambien. Igual es mejor tener un script separado que busque dentro del directorio el ultimo archivo modificado y que excluya directorios. Hmm, me pondre a investigar sobre eso xD
|
|
|
25
|
Sistemas Operativos / GNU/Linux / Re: Como puedo hacer este comando simple?
|
en: 15 Agosto 2015, 19:41 pm
|
No habia visto que era solo para el ultimo achivo modificado find /home/ftp -type d -size +150M -exec rm $(ls -1t {} | head -n 1) \;
Pero hay que tener mucho cuidado con los directorios.... Cuidado con los directorios? Ese script que pusiste puede borrar un directorio sin querer?, alternativamente, como podria hacer para que no borrara determinados archivos? tanto nombre como extension "internal.db", "mtaserver.conf", "acl.xml", etc etc
|
|
|
26
|
Sistemas Operativos / GNU/Linux / Re: Como puedo hacer este comando simple?
|
en: 15 Agosto 2015, 18:58 pm
|
Creo que puedes hacer: find /home/ftp -type d -size +150M -exec rm {} \;
-type c File is of type c:
b block (buffered) special
c character (unbuffered) special
d directory
p named pipe (FIFO)
f regular file
l symbolic link; this is never true if the -L option or the -follow option is in effect, unless the symbolic link is broken. If you want to search for symbolic links when -L is in effect, use -xtype.
s socket
D door (Solaris) Pero lo que tu dices elimina el directorio, la cosa es que eliminara un archivo, o al servidor le quitara el permiso de escritura, de esa forma no podria escribir en el directorio: Estuve haciendo este script pero da mas errores.. No sé nada de linux, quizas sea por eso XD (ni cerrar la condicional) root@venad1:~# bash rbf.sh ': not a valid identifier`limitdisk ': not a valid identifier`directdisk rbf.sh: line 10: syntax error near unexpected token `fi' rbf.sh: line 10: ` fi' root@venad1:~#
El script xD #! /bin/bash typeset -i limitdisk typeset -i directdisk limitdisk=1610612736 directdisk=$(du -bs /home/ftp/oqq77888) if [$directdisk -ge $limitdisk] then echo "Espacio libre excedido" else echo "espacio no excedido" fi
Aunque bueno, lo mismo que tu has dicho.. podria hacerlo asi: find /home/ftp -type d -size +1500M -exec chmod 555 /home/ftp/oqq77888/mta-server \;
Funcionaria, no? PD: Un poco cochino mi numero de mensajes no?
|
|
|
27
|
Sistemas Operativos / GNU/Linux / Re: Como puedo hacer este comando simple?
|
en: 15 Agosto 2015, 16:45 pm
|
Porque no creas a cada FTP 1 usuario a el usuario le creas cuotas y le pones que le avise cuando valla a llenar el disco cuando le queden no 300MB o algo así
Porque el servidor en sí puede crear archivos y escribirlos, por eso el metodo 'anti-llenado' de disco duro, al execeder X tamaño, eliminar el ultimo archivo
|
|
|
28
|
Sistemas Operativos / GNU/Linux / [solucionado] Como puedo hacer este comando simple?
|
en: 15 Agosto 2015, 16:12 pm
|
Bueno, hasta hace unos dias, estaba 'hosteando' unos servidores de juegos y decidí a crear un comando para que el servidor no exceda la cuota de espacio (porque el servidor no respeta el FTP) . Bien, tenia este comando que detectaba el tamaño de los archivos y los borraba find /home/ftp -size +150M -exec rm {} \;
Pero... Como puedo hacer que coja el tamaño del directorio total, ysi excede.. Que elimine el ultimo archivo modificado? PD: Existiria alguna forma de poner una "excepcion" de archivos y que pase al siguiente, por ejemplo: "archivo que no puede borrar: internal.db", y si el ultimo modificado es "internal.db" y el segundo despues es "texto.txt", que elimine "texto.txt" y no "internal.db", nose si me explique, es un poco complicado todo
|
|
|
29
|
Sistemas Operativos / GNU/Linux / Pure-FTPD no reconoce el quota
|
en: 12 Agosto 2015, 01:33 am
|
Bueno, no hay mucho que explicar, el titulo lo dice todo, creé un usuario sin quota, posteriormente se la añadí y al hacerle show quedando asi Login : test UID : 2001 (-) GID : 2001 (-) Directory : /home/ftp/test/./ Full name : Download bandwidth : 0 Kb (unlimited) Upload bandwidth : 0 Kb (unlimited) Max files : 1 (enabled) Max size : 1 Mb (enabled) Ratio : 0:0 (unlimited:unlimited) Allowed local IPs : Denied local IPs : Allowed client IPs : Denied client IPs : Time restrictions : 0000-0000 (unlimited) Max sim sessions : 0 (unlimited) Pero puedo subir mas de 1 archivo al servidor, y más de 1 mega, como si eso no tuviera efecto, y sí, esta chroot y todo eso, cual puede ser el error? (Tambien tenía un .ftpquota que ponia "0 0" por razones desconocidas.. Pero se lo cambie a los mismos valores "1 1") Esperando respuestas de este maravilloso foro
|
|
|
30
|
Sistemas Operativos / GNU/Linux / [Obsoleto]Problema con PROFTPD
|
en: 11 Agosto 2015, 19:08 pm
|
Buenas, el problema que me vengo a estar dando es que quiero hacer que cuando el usuario abra, o renombre, o suba un archivo, que le permita a ciertas extensiones Esto es lo que hice, pero me da error de sintaxis y no veo por qué una ayudita? <Directory ~/*> <Limit STOR> PathAllowFilter \.(jpg|jpgeg|mpeg|mpg|mp3)$ </Limit> </Directory>
Probé con la directiva QuotaDefault user false hard 10485760 0 0 0 0 0
Pero dice que no existe
|
|
|
|
|
|
|