Autor
|
Tema: [solucionado] Como puedo hacer este comando simple? (Leído 4,074 veces)
|
venadHD
Desconectado
Mensajes: 94
Donde hay hackers, tambien hay crackers.
|
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
|
|
« Última modificación: 15 Agosto 2015, 20:33 pm por venadHD »
|
En línea
|
|
|
|
WIитX
Desconectado
Mensajes: 1.026
WINTX
|
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í
|
|
|
En línea
|
"Es más divertido hacerse pirata que unirse a la marina." (Steve Jobs)
|
|
|
venadHD
Desconectado
Mensajes: 94
Donde hay hackers, tambien hay crackers.
|
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
|
|
|
En línea
|
|
|
|
MinusFour
|
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)
|
|
|
En línea
|
|
|
|
venadHD
Desconectado
Mensajes: 94
Donde hay hackers, tambien hay crackers.
|
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?
|
|
« Última modificación: 15 Agosto 2015, 19:03 pm por venadHD »
|
En línea
|
|
|
|
MinusFour
|
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....
|
|
|
En línea
|
|
|
|
venadHD
Desconectado
Mensajes: 94
Donde hay hackers, tambien hay crackers.
|
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
|
|
|
En línea
|
|
|
|
MinusFour
|
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
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.
|
|
|
En línea
|
|
|
|
venadHD
Desconectado
Mensajes: 94
Donde hay hackers, tambien hay crackers.
|
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
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como hacer que un comando winsock este tambien en otro Form
Programación Visual Basic
|
Log-On
|
8
|
3,042
|
9 Septiembre 2006, 03:00 am
por Log-On
|
|
|
Como puedo hacer este efecto
« 1 2 »
Diseño Gráfico
|
jamarchi
|
17
|
7,718
|
29 Agosto 2007, 23:57 pm
por jamarchi
|
|
|
(Solucionado) [VBS] como hacer este bucle?
« 1 2 »
Scripting
|
Eleкtro
|
11
|
10,881
|
22 Febrero 2012, 10:14 am
por Eleкtro
|
|
|
Comprueba si Windows 10 está correctamente activado con este simple comando
Noticias
|
wolfbcn
|
0
|
1,329
|
23 Marzo 2017, 18:39 pm
por wolfbcn
|
|
|
[C]Como puedo parsear un simple comando
Programación C/C++
|
huchoko
|
9
|
3,066
|
13 Febrero 2019, 22:48 pm
por ThunderCls
|
|