Прогресс машины времени из командной строки

23

Панель управления Time Machine предоставляет информацию о текущих резервных копиях. Например

введите описание изображения здесь

Есть ли способ получить информацию из командной строки?

Matteo
источник

Ответы:

39

Во время резервного копирования подробную информацию можно получить

tmutil status

который должен вернуть что-то вроде этого:

Backup session status:
{
    BackupPhase = Copying;
    ClientID = "com.apple.backupd";
    DateOfStateChange = "2014-12-18 14:14:21 +0000";
    DestinationID = "B4AF88-5AD5-49BE-B254-650B44E20499";
    DestinationMountPoint = "/Volumes/TimeMachine";
    Percent = "0.852581430477103";
    Progress =     {
        TimeRemaining = 0;
        "_raw_totalBytes" = 38596759;
        bytes = 36563200;
        files = 480;
        totalBytes = 42456434;
        totalFiles = 480;
    };
    Running = 1;
    Stopping = 0;
    "_raw_Percent" = "0.9473127005301144";
}

Если вас интересует только процент, попробуйте следующее (выглядит некрасиво, работает, только если есть процент для отображения):

tmutil status | awk '/_raw_Percent/ {print $3}' | grep -o '[0-9].[0-9]\+' | awk '{print $1*100}'
Асмус
источник
2
Я не мог найти это на странице руководства. Где вы собрали этот глагол tmutil?
jsejcksn
4
@jsejcksn Честно говоря, я не помню, где я узнал status, бег tmutil help statusсейчас возвращается *** status is a private verb. ***; почему это так, и особенно если это было два года назад, я не знаю: D
Асмус
2
Из какого формата данных tmutil? Это не совсем JSON. Это какой-то дамп объекта C?
LS
4
@LS это отформатировано как список свойств в стиле NeXTSTEP
Asmus
2

Чтобы получить только процентное значение:

tmutil status | awk -F'"' '/_raw_Percent/ {print $4*100}'
Донни
источник