MarkusR Posted May 3, 2021 Posted May 3, 2021 Hallo Zusammen, ich würde gerne meine Daten von Onedrive auf Unraid sichern. Hier habe ich rclone entdeckt. Wenn ich dieses auf Unraid, oder unter Ubuntu einrichten möchte, bekomme ich nach der Authentifizierung folgende Fehlermeldung ausgegeben: 2021/05/03 21:51:36 Failed to query available drives: HTTP error 401 (401 Unauthorized) returned body: "{\"error\":{\"code\":\"InvalidAuthenticationToken\",\"message\":\"CompactToken parsing failed with error code: 8004920A\",\"innerError\":{\"date\":\"2021-05-03T19:51:36\",\"request-id\":\"xxxxxxxx\",\"client-request-id\":\"xxxxxxxxxx\"}}}" Weiß jemand, was ich hier falsch mache? Bei der Konfiguration lasse ich die Client ID und das Client Secret immer leer. Quote
mgutt Posted May 3, 2021 Posted May 3, 2021 Hast du eine URL aufgerufen um den Zugriff zu erlauben? Das ist ja normalerweise bei allen Clouds notwendig Quote
saber1 Posted May 4, 2021 Posted May 4, 2021 5 hours ago, mgutt said: Hast du eine URL aufgerufen um den Zugriff zu erlauben? Das ist ja normalerweise bei allen Clouds notwendig Ich hatte rclone damals mit der "Remote Setup" Methode eingerichtet. Sprich mit einem zweiten Rechner (Ubuntu). Hier ist beschrieben, wie man da vorgeht: Remote Setup So hast Du dann auch die Möglichkeit, die entsprechende URL aufzurufen. Quote
mgutt Posted May 4, 2021 Posted May 4, 2021 Sind denn die OneDrive Daten in der rclone config Datei hinterlegt? Quote
MarkusR Posted May 5, 2021 Author Posted May 5, 2021 Hi Zusammen, ich habe meinen Fehler gefunden. Ich hatte bei Onedrive "DE", anstatt "GLOBAL" ausgewählt. Hab das nochmal unter Ubuntu getestet und mich erfolgreich verbinden können. Nach der Config-Übertragung auf Unraid konnte ich mit lsd erfolgreich mein OneDrive einsehen. Nochmal vielen Dank an alle 🙂 Jetzt muss ich nur noch schauen, wie ich die Backup-Prozesse automatisiere. Gegebenenfalls melde ich mich dann nochmal 🙂 Quote
saber1 Posted May 5, 2021 Posted May 5, 2021 35 minutes ago, MarkusR said: Jetzt muss ich nur noch schauen, wie ich die Backup-Prozesse automatisiere. Mache ich mit rclone sync und den User Scripts (Cron). Quote
MarkusR Posted May 6, 2021 Author Posted May 6, 2021 Hi @saber1 genau mit sync -P habe ich mir ein Userscript erstellt. Ich habe versucht das log mit etwa rclone_log_'date + "%Y%M%D"'.txt anzulegen, aber er macht mir das Timestamp nicht. Wie müsste ich das unter Unraid genau angeben? Quote
saber1 Posted May 6, 2021 Posted May 6, 2021 2 hours ago, MarkusR said: Wie müsste ich das unter Unraid genau angeben? Neben den einzelnen Scripts hast Du ja die Möglichkeit, einen eigenen (Custom) Zeitplan (Schedule) festzulegen. Dort gibst Du dann im „Cron-Format“ den gewünschten Plan an. Hier ist eine gute Seite dazu: Crontab Guru Dort siehst Du schon ein Beispiel von mir: Alle zwei Monate am ersten Tag des Monats um 3:00 Uhr. Quote
MarkusR Posted May 15, 2021 Author Posted May 15, 2021 (edited) Hi Zusammen, ich konnte es mit einem Skript lösen, dass ich über crontab automatisiert habe. Das LOG-Problem konnte ich ebenfalls lösen. Folgendes Statement verwende ich, falls es mal jemand brauchen sollte 😄 rclone sync -P <OneDrive>/ /mnt/user/<OneDrive>/ --log-file=/mnt/user/RcloneLOGs/OneDrive_log_`date +%Y%m%d%H%M`.txt --log-level INFO Die spitzen Klammern sollen Platzhalter darstellen. Edited May 15, 2021 by MarkusR Quote
Anym001 Posted May 15, 2021 Posted May 15, 2021 Falls jemand Interesse hat. Ich führe meine Backups über folgendes Script täglich um 03:00 Uhr automatisiert aus. Quote #!/bin/bash ####### MAIN SETTINGS ####### JobName="GDrive daily upload" # choose a job name RcloneCommand="sync" # choose your rclone command e.g. move, copy, sync RcloneRemoteName="googledrive_encrypted" # choose your remote name Notification=1 # Enables a notification to the Unraid WebGui BackupRetention="30d" # How long to keep deleted sync files suffix ms|s|m|h|d|w|M|y source_paths=( "backup" "Medien" "Musik" "Nextcloud" ) ####### Bandwidth limits ####### # specify the desired bandwidth in kBytes/s, or use a suffix b|k|M|G. Or 'off' or '0' for unlimited. The script uses --drive-stop-on-upload-limit which stops the script if the 750GB/day limit is achieved, so you no longer have to slow 'trickle' your files all day if you don't want to e.g. could just do an unlimited job overnight. BWLimit1Time="15:30" BWLimit1="2048k" BWLimit2Time="22:00" BWLimit2="off" ####### Jobs per Share ####### for source_path in "${source_paths[@]}"; do ####### Job Settings ########## LocalFilesShare="/mnt/user/$source_path" # choose local location for opload files RcloneMountShare="Shares/$source_path/Current" # choose remote location for upload files BackupRemoteLocation="Shares/$source_path/Archive" # choose remote location for backup files ####### Create backup path if it doesn't already exist ########## rclone mkdir $RcloneRemoteName:$BackupRemoteLocation ####### Upload files ########## echo "$(date "+%d.%m.%Y %T") INFO: *** Start upload files from $LocalFilesShare to $RcloneRemoteName:$RcloneMountShare." rclone -v $RcloneCommand $LocalFilesShare $RcloneRemoteName:$RcloneMountShare \ --backup-dir $RcloneRemoteName:$BackupRemoteLocation \ --bwlimit "${BWLimit1Time},${BWLimit1} ${BWLimit2Time},${BWLimit2}" \ --drive-stop-on-upload-limit \ --fast-list \ --transfers 4 \ --checkers 8 \ --drive-chunk-size 128M \ --min-age 15m \ --exclude /Filme/** \ --exclude /Serien/** ####### Delete old synced files from archive ########## echo "$(date "+%d.%m.%Y %T") INFO: *** Removing files older than ${BackupRetention} from ${BackupRemoteLocation} for ${RcloneRemoteName}." rclone -v delete $RcloneRemoteName:$BackupRemoteLocation --min-age $BackupRetention rclone -v rmdirs $RcloneRemoteName:$BackupRemoteLocation --leave-root ####### Add a notification to the Unraid WebGui ########## if [ "$Notification" = "1" ]; then /usr/local/emhttp/webGui/scripts/notify -i normal -s "Backup done." -d "Job $JobName $LocalFilesShare successfully finished." fi done echo "$(date "+%d.%m.%Y %T") INFO: Script complete." exit Quote
mgutt Posted May 15, 2021 Posted May 15, 2021 1 hour ago, Anym001 said: Removing files older than ${BackupRetention} from ${BackupRemoteLocation} for ${RcloneRemoteName}." rclone -v delete $RcloneRemoteName:$BackupRemoteLocation --min-age $BackupRetention Bezieht sich "--min-age" auf das Änderungsdatum oder das Erstelldatum? Das konnte ich nicht herausfinden. Man muss hier auf jeden Fall aufpassen. Manche Clouds unterstützen die Übernahme der Original Zeitstempel (was rclone dann standardmäßig auch macht) und dann hat man evtl eine Datei entfernt, die eigentlich noch im Backup drin sein sollte. Da Google Drive das Änderungsdatum übernehmen sollte, dürfte sich "--min-age" auf das Erstelldatum beziehen oder? Quote
Anym001 Posted May 15, 2021 Posted May 15, 2021 37 minutes ago, mgutt said: Da Google Drive das Änderungsdatum übernehmen sollte, dürfte sich "--min-age" auf das Erstelldatum beziehen oder? Soweit ich weiß ist es das Erstellungsdatum. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.