powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / bash скрипт как посмотерть размер файла ls или du?
5 сообщений из 5, страница 1 из 1
bash скрипт как посмотерть размер файла ls или du?
    #39454531
vasyun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся со странным поведением команд ls du

Дано:
Сервер FreeNAS с расшаренной папкой по SMB.
Сервер CentOS на котором запускается bash-скрипт. Он монтирует сетевую шару(которая на FreeNAS) и копирует туда архив. Затем смотрит размер файла и отправляет отчёт.

Задача:
Внутри bash-скрипта получить размер полученного архива. Или просто любого файла на сетевой шаре.

Проблема:
На CentOS руками монтирую папку и смотрю вывод команды:
Код: css
1.
2.
3.
4.
root# mount -t cifs -o dom=MyDom,user=MyUser,pass=MyPass,uid=0,gid=0 //Server/BackUp /mnt/Backup
root# du -h /mnt/Backup

8,5G    /mnt/Backup/Archiv.tar.gz


Всё ожидаемо

То же самое делаю из скрипта получаю абракатабру. Вместо du поставил ls. И тогда результаты похоже на правду
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
#!/bin/bash
BACKUP_SIZE=`du -h "/mnt/Backup/Archiv.tar.gz" | cut -f 1`
echo "Size du:"$BACKUP_SIZE
BACKUP_SIZE=`ls -lh "/mnt/Backup/Archiv.tar.gz" | cut -f 1`
echo "Size ls:"$BACKUP_SIZE

Size du: 512
Size ls: 23K


Объясните пожалуйста как так?

bash --version
GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)
...
Рейтинг: 0 / 0
bash скрипт как посмотерть размер файла ls или du?
    #39454567
Serene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasyun,

du используется для директорий,
ls - для файлов

как вариант, можно попробовать du --apparent-size
...
Рейтинг: 0 / 0
bash скрипт как посмотерть размер файла ls или du?
    #39454587
vasyun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serene,

Спасибо.
Теперь буду знать.
...
Рейтинг: 0 / 0
bash скрипт как посмотерть размер файла ls или du?
    #39455008
vasyun root# mount -t cifs -o dom=MyDom,user=MyUser,pass=MyPass,uid=0,gid=0 //Server/BackUp /mnt/Backup

При монтировании с Unix на Unix лучше пользоваться родным протоколом NFS, с ним подобных глюков меньше.
Вместо ls/du современный способ получения такой информации для шелл-скриптов - утилита stat(1)
...
Рейтинг: 0 / 0
bash скрипт как посмотерть размер файла ls или du?
    #39456765
vasyun,

Как страшный сон забудь такой способ бекапа, и настрой резервное копирование фринасом. Почему — объяснять мне лень, коротко: твои бекапы в опасности.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / bash скрипт как посмотерть размер файла ls или du?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]