Как рассчитать размер папки на Google Диске (используемое пространство) с помощью RCLONE? - PullRequest
0 голосов
/ 27 мая 2020

Google Диск не дает разбивки по размеру каждой папки по отдельности, поэтому при приближении к пределу хранилища было бы неплохо узнать, какие папки занимают больше всего места.

Как могу ли я использовать rclone (rclone.org), чтобы узнать размер папки и сколько места она занимает на Google Диске?

1 Ответ

0 голосов
/ 27 мая 2020

Чтобы получить общее пространство, используемое всем вашим Google Диском, используйте это:

rclone size "myGoogleDrive:/"

Чтобы получить общий размер (используемое пространство) одной конкретной папки, используйте это:

rclone size "myGoogleDrive:myFolderName/"

Благодарю за помощь в этом сообщении: https://www.guyrutenberg.com/2017/08/23/calculate-google-drive-folder-size-using-rclone/

WINDOWS PHP СЦЕНАРИЙ НАЙТИ ВСЕ РАЗМЕРЫ ПАПКИ ВЕРХНЕГО УРОВНЯ:

Обратите внимание, что следующий сценарий написан в PHP на Windows. Вам нужно убедиться, что команда shell_exe c () не отключена в php.ini. Вы можете запустить скрипт из командной строки или powershell, используя php filename.php

. Предполагается, что у вас установлен rclone и включен в ваш windows путь к среде.

Сначала он получит список всех папки верхнего уровня с вашего Google Диска, а затем разбивает возвращаемую строку на массив.

Затем он будет l oop через массив и вытащит каждое имя каталога и получит его размер.

<?php
    echo "\r\nGOOGLE DRIVE - Total Storage Space Used (by top level directories)\r\n\r\n";
    echo "Running RCLONE LSD...\r\n\r\n";
    $dir_list_string = shell_exec('rclone lsd myGoogleDrive:'); // Get top level directory listing
    echo "FOUND THESE...\r\n";
    echo $dir_list_string."\r\n\r\n";
    echo "Running RCLONE SIZE...\r\n\r\n";
    $dir_list = explode("-1 ", $dir_list_string); // Split the returned string into an array
    $count_list = count($dir_list); // How many items in the array?
    for ($i = 2; $i < $count_list; $i=$i+2) {
        $dir_list[$i] = trim($dir_list[$i]); // Get rid of white space around name
        echo "Checking size of: ".$dir_list[$i]."\r\n";
        $size_string = shell_exec('rclone size "myGoogleDrive:'.$dir_list[$i].'/" '); // Get size of each directory
        echo $size_string."\r\n";
    }
    $size_all = shell_exec('rclone size "myGoogleDrive:/" ');
    echo "TOTAL SPACE USED FOR ENTIRE GOOGLE DRIVE:\r\n";
    echo $size_all."\r\n";
    echo "DONE\r\n\r\n";
?>
...