¿Cuál es la mejor manera de obtener información de espacio de disco con ruby? Preferiría una solución de rubí puro. Si no es posible (incluso con gemas adicionales), también podría usar cualquier comando disponible en una instalación de escritorio ubuntu estándar para analizar la información en ruby.Obtenga espacio de disco disponible en ruby
Respuesta
Se podría utilizar el sys-filesystem joya (multiplataforma amistoso)
require 'sys/filesystem'
stat = Sys::Filesystem.stat("/")
mb_available = stat.block_size * stat.blocks_available/1024/1024
¿Qué hay de simplemente:
spaceMb_i = `df -m /dev/sda1`.split(/\b/)[24].to_i
donde '/ dev/sda1' es el camino, determinado simplemente ejecutando df
No funcionó para mí por alguna razón (¿la división?) pero esto hizo 'bytes_free = \' df -B1. \ '.split [10] .to_i' – rogerdpack
(Ruby) Daniel Berger mantiene a lot of gems en este campo. Se encuentra allí: sys-cpu, sys-uptime, sys-uname, sys-proctable, sys-host, sys-admin, sys-filesystem. Ellos son (AFAIK) multiplataforma.
def check_disk_space
system('df -H | grep debug > ff')
ss = File.open('ff').read.split(/\s+/)
system('rm ff')
"#{ss[3]}"
end
Usado bajo ubuntu, para comprobar depura tamaño, poner el tamaño disponible como salida.
Hola he creado joya para que: https://github.com/pr0d1r2/free_disk_space
Se puede utilizar por:
joya línea 'FREE_DISK_SPACE' # añadir a Gemfile
métodos de uso de código dentro:
FreeDiskSpace .terabytes ('/')
FreeDiskSpace.gigabytes ('/')
FreeDiskSpace.megabytes ('/')
FreeDiskSpace.kilobytes ('/')
FreeDiskSpace.bytes ('/')
"Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas solo de enlace pueden dejar de ser válidas si la página vinculada cambia". – zero323
Esta es una extensión de dkams respuesta que no está mal, pero calculó el espacio completo de las unidades, para verificar si el resto puede usarse. el espacio libre de un sustituto unidad kdams línea secodn con lo siguiente:
mb_available = stat.bytes_free/1024/1024/1024
Esto devolverá el espacio libre que queda en la unidad de conciertos.
Si está en Gigs, ¿por qué llamarlo mb_available? – zachaysan
@zachaysan que sería debido a cómo los parámetros son '1024/1024/1024' donde va de byte, megabyte, gigabyte. Que ver 'bytes_free' debería haber sido un regalo muerto. 'mb_available' se debe a que esta es la forma estándar de mostrar cualquier cantidad de datos a menos que, por supuesto, sea inferior a 1 mb. Aunque con los parámetros tienes el control de cómo lo quieres (KB, MB, GB). – DotSlashCoding
una solución libre de la gema, la respuesta en bytes:
(File.exists?('C:\\') ? `dir /-C`.match(/(\d+) bytes free/) : `df .`.match(/(\d+)\s*\d*%/)).captures[0].to_i
similares a comentar el comentario de rogerdpack para obtener el espacio libre en GB/MB es posible que trate de seguir
# Get free space in Gb in present partition
gb_free = `df -BG .`.split[10].to_i**
# Get free space in MB in /dev/sda1 partition
mb_free = `df -BM /dev/sda1`.split[10].to_i**
puts gb_free, mb_free
Esto funciona sólo en un sistema Linux: Si no te importa llamando a la cáscara, se puede utilizar df
para un sistema de archivos y analizar la salida con una expresión regular:
fs_to_check = '/boot'
df_output = `df #{fs_to_check}`
disk_line = df_output.split(/\n/)[1]
disk_free_bytes = disk_line.match(/(.+)\s+(\d+)\s+(\d+)\s+(\d+)\s+/)[4].to_i
disk_free_mbs = disk_free_bytes/1024
puts(disk_free_mbs)
- 1. ¿Cómo obtener espacio de disco total disponible en sistemas Posix?
- 2. Espacio en disco anunciado frente a espacio en disco real
- 3. ¿Puede verificar el espacio disponible en el disco duro con Adobe Air?
- 4. consulta SQL suficiente espacio en disco
- 5. Problema de espacio en disco de Amazon EC2 y EBS
- 6. ¿Cómo calcular el espacio libre en el disco?
- 7. Rellene todo el espacio disponible en StackPanel
- 8. Obtenga espacio libre en la memoria interna
- 9. Obtenga la velocidad de rotación del disco Código de muestra
- 10. Espacio en disco hambriento Las bases de datos de NoSQL
- 11. Buscar espacio en disco libre en python en OS/X
- 12. Base de datos que consume menos espacio en disco
- 13. MongoDb: Evite el exceso de espacio en disco
- 14. de datos MongoDB eliminan - recuperar espacio en disco
- 15. ¿Cómo obtener el espacio en disco en un servidor?
- 16. Espacio libre en disco en una unidad de red en Delphi
- 17. Enchufes, obtenga el número de bytes disponible (C#)
- 18. ¿Hace que Git consuma menos espacio en disco?
- 19. centos espacio libre en el disco sin actualizar
- 20. ¿Cómo encontrar cuánto espacio en disco queda con Java?
- 21. Hacer ancho de columna ocupar espacio disponible en wxPython ListCtrl
- 22. Espacio en la matriz de ruby% w
- 23. cómo encontrar el uso de espacio de disco por usuario?
- 24. Android: obtenga la ubicación actual del mejor proveedor disponible
- 25. Obtenga un valor de clave particular de json en ruby
- 26. Cómo verificar el espacio libre disponible en mongodb
- 27. Cómo obtener espacio disponible en tablespace para un usuario (Oracle)
- 28. ¿Cómo obtener controles en WPF para llenar el espacio disponible?
- 29. conseguir todo el espacio total y disponible en Android
- 30. Adaptación de la nube de etiquetas al espacio disponible
en Windows o Linux? , si Windows hay una Pregunta para ese http: // stackoverflow.com/questions/3258518/ruby-get-available-disk-drives –
bajo ubuntu linux –