L'esordio è sempre il medesimo, come la semplicità delle questioni che pongo, mi rendo conto, ma sono (ancora una volta) in difficoltà.
Come descritto in quest'altra discussione, ho installato OneDrive in ambiente Linux Mint 22, seguendo (sostanzialmente) QUESTA guida.
Mi sono quindi azzardato ad utilizzare OneDriveGUI, rilasciato nel sistema AppImage (si dirà così?), e, di fatto, nel mio piccolo posso dire che l'unico vantaggio è quello di veder visualizzato subito lo spazio residuo disponibile sul cloud.
Ergo, secondo un principio tutto mio della propria transitiva, mi sono chiesto: senza OneDriveGUI, avendo installato OneDrive per Linux, come vedere da riga di comando (CLI) quanto spazio residuo ho ancora sul cloud?
Veramente ho cercato di cavarmela da solo, passando a terminale il comando:
onedrive --display-quota
Unrecognized option --display-quota
Try 'onedrive -h' for more information
In effetti, con "onedrive --help", non trovo l'opzione "--display-quota":
onedrive --help
OneDrive - a client for OneDrive Cloud Services
Usage:
onedrive [options] --synchronize
Do a one time synchronization
onedrive [options] --monitor
Monitor filesystem and sync regularly
onedrive [options] --display-config
Display the currently used configuration
onedrive [options] --display-sync-status
Query OneDrive service and report on pending changes
onedrive -h | --help
Show this help screen
onedrive --version
Show version
Options:
--auth-files ARG
Perform authentication not via interactive dialog but via files read/writes to these files.
--auth-response ARG
Perform authentication not via interactive dialog but via providing the response url directly.
--check-for-nomount
Check for the presence of .nosync in the syncdir root. If found, do not perform sync.
--check-for-nosync
Check for the presence of .nosync in each directory. If found, skip directory from sync.
--classify-as-big-delete
Number of children in a path that is locally removed which will be classified as a 'big data delete'
--cleanup-local-files
Cleanup additional local files when using --download-only. This will remove local data.
--confdir ARG
Set the directory used to store the configuration files
--create-directory ARG
Create a directory on OneDrive - no sync will be performed.
--create-share-link ARG
Create a shareable link for an existing file on OneDrive
--debug-https
Debug OneDrive HTTPS communication.
--destination-directory ARG
Destination directory for renamed or move on OneDrive - no sync will be performed.
--disable-download-validation
Disable download validation when downloading from OneDrive
--disable-notifications
Do not use desktop notifications in monitor mode.
--disable-upload-validation
Disable upload validation when uploading to OneDrive
--display-config
Display what options the client will use as currently configured - no sync will be performed.
--display-running-config
Display what options the client has been configured to use on application startup.
--display-sync-status
Display the sync status of the client - no sync will be performed.
--download-only
Replicate the OneDrive online state locally, by only downloading changes from OneDrive. Do not upload local changes to OneDrive.
--dry-run
Perform a trial sync with no changes made
--enable-logging
Enable client activity to a separate log file
--force
Force the deletion of data when a 'big delete' is detected
--force-http-11
Force the use of HTTP 1.1 for all operations
--force-sync
Force a synchronization of a specific folder, only when using --synchronize --single-directory and ignore all non-default skip_dir and skip_file rules
--get-O365-drive-id ARG
Query and return the Office 365 Drive ID for a given Office 365 SharePoint Shared Library
--get-file-link ARG
Display the file link of a synced file
--help -h
This help information.
--list-shared-folders
List OneDrive Business Shared Folders
--local-first
Synchronize from the local directory source first, before downloading changes from OneDrive.
--log-dir ARG
Directory where logging output is saved to, needs to end with a slash.
--logout
Logout the current user
--min-notify-changes ARG
Minimum number of pending incoming changes necessary to trigger a desktop notification
--modified-by ARG
Display the last modified by details of a given path
--monitor -m
Keep monitoring for local and remote changes
--monitor-fullscan-frequency ARG
Number of sync runs before performing a full local scan of the synced directory
--monitor-interval ARG
Number of seconds by which each sync operation is undertaken when idle under monitor mode.
--monitor-log-frequency ARG
Frequency of logging in monitor mode
--no-remote-delete
Do not delete local file 'deletes' from OneDrive when using --upload-only
--print-token
Print the access token, useful for debugging
--reauth
Reauthenticate the client with OneDrive
--remove-directory ARG
Remove a directory on OneDrive - no sync will be performed.
--remove-source-files
Remove source file after successful transfer to OneDrive when using --upload-only
--resync
Forget the last saved state, perform a full sync
--resync-auth
Approve the use of performing a --resync action
--single-directory ARG
Specify a single local directory within the OneDrive root to sync.
--skip-dir ARG
Skip any directories that match this pattern from syncing
--skip-dir-strict-match
When matching skip_dir directories, only match explicit matches
--skip-dot-files
Skip dot files and folders from syncing
--skip-file ARG
Skip any files that match this pattern from syncing
--skip-size ARG
Skip new files larger than this size (in MB)
--skip-symlinks
Skip syncing of symlinks
--source-directory ARG
Source directory to rename or move on OneDrive - no sync will be performed.
--space-reservation ARG
The amount of disk space to reserve (in MB) to avoid 100% disk space utilisation
--sync-root-files
Sync all files in sync_dir root when using sync_list.
--sync-shared-folders
Sync OneDrive Business Shared Folders
--syncdir ARG
Specify the local directory used for synchronization to OneDrive
--synchronize
Perform a synchronization
--upload-only
Replicate the locally configured sync_dir state to OneDrive, by only uploading local changes to OneDrive. Do not download changes from OneDrive.
--user-agent ARG
Specify a User Agent string to the http client
--verbose -v+
Print more details, useful for debugging (repeat for extra debugging)
--version
Print the version and exit
--with-editing-perms
Create a read-write shareable link for an existing file on OneDrive when used with --create-share-link <file>
Comunque, alla fine, non è così importante, non perderci ulteriore tempo.
"Facesti come quei che va di notte, che porta il lume dietro e sé non giova, ma dopo sé fa le persone dotte"
Dante (Purgatorio, Canto XXII)
Matilda12 ha scritto: ↑mer ott 16, 2024 7:53 am
In effetti, con "onedrive --help", non trovo l'opzione "--display-quota"
Premetto che non uso OneDrive su Linux, ma cercando in rete sembra che il comando "onedrive --synchronize --verbose --dry-run" dovrebbe mostrare fra le varie informazioni anche lo spazio occupato nel cloud (senza sincronizzare nulla, dovrebbe essere solo una simulazione).
Se invece hai tutto già sincronizzato anche in locale, la cartella OneDrive in home (oppure il drive montato) non dovrebbe indicare lo spazio occupato? Se cerchi un comando per non fare la sottrazione a mente, credo si possa approntare con bash e poi salvarlo come comando personalizzato.
Ad esempio aggiungendo:
alla fine di ~/.bashrc e poi eseguendo il comando "source ~/.bashrc", che carica i cambiamenti apportati al profilo bash, ogni volta che lancerai il comando "1drive" (o come sceglierai di chiamarlo) verrà calcolato lo spazio residuo in kB rispetto allo spazio massimo di 5 GB.
Adesso il mio debito raddoppia: anche verso Zigul!
Zigul ha scritto: ↑mer ott 16, 2024 12:39 pm
... sembra che il comando "onedrive --synchronize --verbose --dry-run" dovrebbe mostrare fra le varie informazioni anche lo spazio occupato nel cloud (senza sincronizzare nulla, dovrebbe essere solo una simulazione).
...
hai perfettamente ragione! Provato e posso confermare senz'altro.
Zigul ha scritto: ↑mer ott 16, 2024 12:39 pm
Se invece hai tutto già sincronizzato anche in locale, la cartella OneDrive in home (oppure il drive montato) non dovrebbe indicare lo spazio occupato?
Sì, esatto, ho la cartella OneDrive sotto home e, andando su proprietà, posso vedere quanto spazio è occupato.
Zigul ha scritto: ↑mer ott 16, 2024 12:39 pm
Se cerchi un comando per non fare la sottrazione a mente ...
Esatto anche questo: non fare la sottrazione a mente.
Zigul ha scritto: ↑mer ott 16, 2024 12:39 pm
... credo si possa approntare con bash e poi salvarlo come comando personalizzato.
Ecco, qui, purtroppo, mi perdo un po'. Questo però dipende dalla mia ignoranza sulla materia. Studierò o cercherò di farlo, anche per rispetto del tuo impegno!
CUB3 ha scritto: ↑mer ott 16, 2024 1:43 pm
Dimenticavo che non hai l'ultima versione disponibile sul Github
Colpa mia!!! ... magari è la volta buona che mi sgancio dal repository e aggiorno OneDrive ...
a entrambi!
"Facesti come quei che va di notte, che porta il lume dietro e sé non giova, ma dopo sé fa le persone dotte"
Dante (Purgatorio, Canto XXII)
Zigul ha scritto: ↑mer ott 16, 2024 12:39 pm
... credo si possa approntare con bash e poi salvarlo come comando personalizzato.
Ecco, qui, purtroppo, mi perdo un po'. Questo però dipende dalla mia ignoranza sulla materia. Studierò o cercherò di farlo, anche per rispetto del tuo impegno!
In realtà è più difficile a dirsi che a farsi; qui (per due giorni) trovi un video con la procedura.
I comandi usati in sequenza sono:
alias 1drive='echo Spazio libero OneDrive: $(((5000000 - $(du ~/Desktop/ | cut -f1)) / 1000)) MB'
da incollare dentro il file "bashrc". Seguono poi: CTRL+X, Y e Invio.
Per avere un risultato più leggibile, ho modificato un po' il codice, così che tu ottenga il valore in MB (ovviamente puoi scegliere un altro nome al posto di "1drive" e devi cambiare il percorso dell'esempio, che è il Desktop, con quello di OneDrive).
Infine:
per aggiornare la shell con le modifiche del file "bashrc".
Per cancellare l'alias, puoi fare la stessa procedura cancellando la riga precedentemente incollata alla fine del file bashrc; oppure commentando l'alias anteponendo il simbolo cancelletto all'intera riga, in modo che non venga eseguita, ma al bisogno, rimuovendo il cancelletto, torni fruibile. In entrambi i casi è poi necessario riavviare la shell per rendere effettivi i cambiamenti.
@Zigul, sei stato impagabile, gentilissimo e, come sempre, utilissimo-preparatissimo!!!
Zigul ha scritto: ↑mer ott 16, 2024 7:42 pm
...
In realtà è più difficile a dirsi che a farsi; qui (per due giorni) trovi un video con la procedura.
...
Video salvato nei giorni scorsi!
Grazie ancora di tutto!
"Facesti come quei che va di notte, che porta il lume dietro e sé non giova, ma dopo sé fa le persone dotte"
Dante (Purgatorio, Canto XXII)
alias 1drive='echo Spazio libero OneDrive: $(((5000000 - $(du ~/Desktop/ | cut -f1)) / 1000)) MB'
Sicuri che lo script funzioni correttamente?
Non so come funziona onedrive (l'eseguibile su Linux) ma du dovrebbe restituire una lista di tutti i file contenuti in una cartella e solo come utlima riga indica la dimensione complessiva della cartella passata come argomento. Forse si è perso un tail -n 1?
"Let me tell you a secret: when you hear that the machine is “smart”, what it actually means is that it’s exploitable." Mikko Hypponen
alias 1drive='echo Spazio libero OneDrive: $(((5000000 - $(du ~/Desktop/ | cut -f1)) / 1000)) MB'
Sicuri che lo script funzioni correttamente?
Non so come funziona onedrive (l'eseguibile su Linux) ma du dovrebbe restituire una lista di tutti i file contenuti in una cartella e solo come utlima riga indica la dimensione complessiva della cartella passata come argomento. Forse si è perso un tail -n 1?
Nei test funziona: "cut -f1" isola il valore della dimensione complessiva della cartella. Nell'esempio del video, lo spazio libero di "~/Desktop" risultava di 4,99 GB perché avevo solo un paio di file nel desktop. Se provi a dare il comando (da "echo" in poi) con una cartella a caso in home (quindi cambiando "~/Desktop"), hai qualche errore o anomalia?
Ho fatto questa prova con la cartella Downloads (che contiene un file da circa 70 MB):
Anche aggiungendo un secondo file, il risultato è il medesimo (a parte la dimensione complessiva differente).
Nelle cartelle di sistema (come "etc", "opt", etc. per intenderci), effettivamente con "du" viene listato il contenuto della cartella e poi le dimensioni complessive; ma se OneDrive è in home (@Matilda12, confermi?), non dovrebbero esserci problemi.
Scusa Zigul, ho scritto male nel precedente messaggio: la lista fatta da du non è dei file ma delle cartelle all'interno del percorso dato come parametro.
Prova ad aggiungere alcune cartelle all'interno di Downloads.
"Let me tell you a secret: when you hear that the machine is “smart”, what it actually means is that it’s exploitable." Mikko Hypponen
Matilda12 ha scritto: ↑dom ott 20, 2024 8:43 am
non ho capito manco la metà di quello che vi siete appena detti!!!
In pratica, nella procedura di cui si parla sopra, quando devi incollare nel file "bashrc" la riga di codice per impostare l'alias (che ti consentirà di verificare lo spazio libero in OneDrive digitando semplicemente il comando "1drive"), la riga corretta da incollare è (in grassetto la modifica giustamente proposta da CUB3): echo Spazio libero OneDrive: $(((5000000 - $(du ~/Downloads | tail -n 1 | cut -f1)) / 1000)) MB
Zigul ha scritto: ↑dom ott 20, 2024 11:28 am
In pratica, nella procedura di cui si parla sopra, quando devi incollare nel file "bashrc" la riga di codice per impostare l'alias (che ti consentirà di verificare lo spazio libero in OneDrive digitando semplicemente il comando "1drive"), la riga corretta da incollare è (in grassetto la modifica giustamente proposta da CUB3): echo Spazio libero OneDrive: $(((5000000 - $(du ~/Downloads | tail -n 1 | cut -f1)) / 1000)) MB
capito ... è che, in generale, come funziona "du", piuttosto che cosa fa "tail" e, ancora, a cosa serve "cuf -f1" per me resta, salvo mettermi a studiare, un mondo oscuro ... però affascinante, grazie a voi!
Ancora complimenti per la vostra preparazione!
"Facesti come quei che va di notte, che porta il lume dietro e sé non giova, ma dopo sé fa le persone dotte"
Dante (Purgatorio, Canto XXII)
Matilda12 ha scritto: ↑dom ott 20, 2024 1:00 pm capito ... è che, in generale, come funziona "du", piuttosto che cosa fa "tail" e, ancora, a cosa serve "cuf -f1" per me resta, salvo mettermi a studiare, un mondo oscuro
Studiare fa sempre bene, tuttavia oggi c'è anche lo "spiegatore artificiale" che può tornare utile, come in questo caso.
Inserendo un messaggio, dichiari di aver letto e accettato il regolamento di partecipazione.
Nello specifico, sei consapevole che ti stai assumendo personalmente la totale responsabilità delle tue affermazioni, anche in sede civile e/o penale,
manlevando i gestori di questo sito da ogni coinvolgimento e/o pretesa di rivalsa.
Dichiari inoltre di essere consapevole che il messaggio sarà visibile pubblicamente, accetti di diffonderlo con licenza
CC BY-NC-SA 3.0 (con attribuzione a "TurboLab.it") e rinunci ad ogni forma di compensazione (economica o altro).
Rinunci inoltre esplicitamente a qualsiasi pretesa di cancellazione del messaggio.