Appoxo

joined 1 year ago
[–] Appoxo@lemmy.dbzer0.com 3 points 11 hours ago

Ich bevorzuge WeaWOW + DWD.
Beste aus (wirklich vielen) Welten:

Zur Auswahl stehen:

  • DWD
  • MET Norway
  • AerisWeather
  • DarkSky/ApfelWetter (scheinbar haben die den Dienstleister gekauft)
  • Weatherbit
  • OWM (Offene Wetter Karte)
  • World Weather Online

Und gegen eine zusätzliche Zahlung (soweit ich weiß sind die bereits genannten kostenfrei dabei):

  • AccuWeather
  • Foreca
[–] Appoxo@lemmy.dbzer0.com 2 points 11 hours ago

Wenn das als zusätzlichea Budget für die Entwicklung der App reingeht, solls mir recht sein.
Ich mag sie auch :)

[–] Appoxo@lemmy.dbzer0.com 1 points 1 week ago

Sometimes you need that sOmEoNe to tElL yOu :)

[–] Appoxo@lemmy.dbzer0.com 2 points 1 week ago (3 children)

Find a job you actually enjoy doing?

[–] Appoxo@lemmy.dbzer0.com 3 points 1 week ago* (last edited 6 days ago)

Wurde tatsächlich auf dem Fahrrad von einem Krankenwagen leicht touchiert und bin gestürzt. War zum Glück nur etwas aufgeschürft aber nix ernstes.
War aber trotzdem eine Ladung Adrenalin :)

[–] Appoxo@lemmy.dbzer0.com 2 points 1 week ago

You should be able to do that when you open the options on the media entry

[–] Appoxo@lemmy.dbzer0.com 2 points 1 week ago

Was hat der Inhalt mit dem michmich zu tun?

[–] Appoxo@lemmy.dbzer0.com 2 points 1 week ago

Saved for reference. Most likely I won't improve this script as it was just a hobby experiment and has little value at work but I will definitely keep your advice in mind for future scripts with actual value.
And I believe I already have some scripts in mind. :)

Thank you very much for taking a look!

[–] Appoxo@lemmy.dbzer0.com 3 points 1 week ago (1 children)

They are already interconnect at various points.
Schools are connected to university networks, university networks to loval government intranets and those are again probably at some point connected to the federal network.
I don't wanna guess where else they have connections to like the police or legislative network.

[–] Appoxo@lemmy.dbzer0.com 1 points 1 week ago

I would start using lidarr instead. Uses musicbrainz as well and can do the library management as well. Imo better than something like picard.
I only used picard in the beginning to fix my unsorted library and prepare for import in lidarr.

[–] Appoxo@lemmy.dbzer0.com 1 points 1 week ago (2 children)

Yesterday I spent close to 1½h to fix my genres in my music library.
There were some entries like EDM;Dance;Pop;Dubstep Instead of individual entries.
For specific entries I think you'd need to refresh + replace all metadata entries in the metadata or fixing the entry with the correct release group id.
I use .nfo files alongside the media. I usually delete them when some metadata get's "stuck" during refreshes.

[–] Appoxo@lemmy.dbzer0.com 1 points 1 week ago

Something like oven potatoes with oven vegetables and a sour cream dip, barbeque meats and something adjacent to those kinds of dishes.

 

Script is made to control Veeam VBR
Thanks for taking a look at my massive feature creep ;)

<#
    .SYNOPSIS
        Startet ein Veeam VBR Job

    .DESCRIPTION
        Startet einen VBR Job basierend auf den Namen.
        Ursprünglicher Zweck war ein Verknüpfung von Jobs (z.B. als Pre-Execution Skript)

    .PARAMETER JobName
        Job-Name des Backup Jobs

    .PARAMETER JobType
        Typ des Backup Jobs
        Erlaubte Typen: VAW, VAL, VMware,
        Nicht erlaubte: Typen: HyperV, PVE

        $Get-VBRBackup | Select-Object -Property Name,TypeToString,JobType
        Backup              Pretty                  Verbose                 Typ im Skript   Notizen
        ########################################################################################################
        Backup Copy Job     Backup Copy             SimpleBackupCopyPolicy  /               /
        VAW Managed SRV     Windows Agent Backup    EpAgentBackup           VAW             CMDlet deprecated for Agent backups
        VAW Managed PC      Windows Agent Policy    EpAgentPolicy           VAW             CMDlet deprecated for Agent backups
        VAL Managed SRV     Linux Agent Backup      EpAgentBackup           VAL             CMDlet deprecated for Agent backups
        VAL Managed PC      Linux Agent Policy      EpAgentPolicy           VAL             CMDlet (probably) deprecated for Agent backups # UNGETESTET WERTE! 
        Proxmox VE          Proxmox Backup          VmbApiPolicyTempJob     PVE             Nicht nutzbar mit Powershell via Start-VBRJob
        VMware              VMware Backup Backup    Backup                  VMware
        Hyper-V

    .EXAMPLE
        Start-VeeamJob.ps1 -JobName 
        passes F1234567-1abc-1234-ab1c-1a2345b6c78d to $JobName
        
    .NOTES
        Author  : Appoxo
        Version : 2.0
    
    .LINK
        Job-ID auslesen:
            Get-VBRComputerBackupJob | Where-Object Name -CLike "*Name*" | Select-Object -Property Id, Name
#>

[CmdletBinding()]
Param(
    [Parameter(Mandatory = $true,
    HelpMessage = "Enter Job-Name of the VBR-Job")]
    [String]
    $JobName,

    [Parameter(Mandatory = $true,
    HelpMessage = "Art des VBR-Jobs. Die Bezichnung ist NICHT canse-sensitiv!")]
    [string]
    $JobType
)

Begin {
    Write-Host "Script started successfully"
    $ExitCode = 0  

    #TimeStamp Logging:
    function Get-TimeStamp {return "{0:yy/MM/dd} {0:HH:mm:ss}" -f (Get-Date)}
    
    <#
    #Debug Values:
    $JobName = "L1 Backup Appoxo-PC2 (Games)"
    $JobType = "VAW"
    #>

    # Variablen
    $workingDir = "C:\Skripte\SkriptLogs"
    $log = "$($workingDir)\Log-StartVeeamJob.log"
    $JobDetails = Get-VBRBackup | Where-Object Name -EQ "$($JobName)"
    $timeout = 9

    # Vorbereitung
    if ($JobType -in @("VAW","VAL","VMware")){
        Write-Host "Valid backup type selected"
        $JobTypUnbestimmt = 0
    }
    else {
        Write-Host "Invalid backup type selected. Please choose something else :)"
        $ExitCode = 1
        exit $ExitCode
    }

    if (Test-Path -Path $workingDir) {
    } else {
        New-Item -ItemType Directory -Path "$workingDir"
    }

    if (-not (Test-Path -Path $log -PathType Leaf)) {
        New-Item -ItemType file -Path $log
        Add-Content -Path $log "Log zur Überprüfung der Start von VBR-Jobs"
    }
}

Process {
    Write-Host "You passed the following information:"
    $data = @([PSCustomObject]@{"Job Details"="$($JobDetails.Name)"; "Selected Job Type"="$($JobType)"})
    $data | Format-Table -AutoSize
    Write-Host "The following Job-ID was found for this job: $($JobDetails.JobId)"

    Write-Host "If there is an error please abort NOW." 
    while ($timeout -gt 0) {
        Write-Host -NoNewline "`rThe script starts in $($timeout)"
        Start-Sleep -Seconds 1
        $timeout--
    }
    Write-Host "Starting script now!"
    Write-Output "$(Get-TimeStamp) Start des Backup Job Skripts. Für den Job '$($JobDetails.Name)' wurde die Job-ID $($JobDetails.JobId) gefunden!" | Add-Content -Path $log

    try{
        $startTime = Get-Date
        Write-Host "Validating input... This may take a while"
        if((($JobType -in @("VAW","VAL"))) -AND (($JobDetails.JobType -in @("EpAgentBackup","EpAgentPolicy")))) {
            Write-Host "Valid backup type '$($JobDetails.TypeToString)' was found. Starting now!"
            Start-VBRComputerBackupJob -Job $JobName | Select-Object -OutVariable JobResult
        }
        elseif (($JobType -in @("VMware")) -AND (($JobDetails.JobType -in @("Backup")))) {
            Write-Host "Valid backup type '$($JobDetails.TypeToString)' was found. Starting now!"
            Start-VBRJob -Job $JobName | Select-Object -OutVariable JobResult
        }
        elseif (($JobType -in @("PVE")) -AND (($JobDetails.JobType -in @("VmbApiPolicyTempJob")))) {
            Write-Host "Der Job des Typs $JobType ist aktuell nicht implementiert"
            $ExitCode = 1
            exit $ExitCode
            <#
            Write-Host "Valid backup type '$($JobDetails.TypeToString)' was found. Starting now!"
            Start-VBRJob -Job $JobName | Select-Object -OutVariable JobResult
            #>
        }
        else {
            Write-Host "Invalid backup type '$($JobDetails.TypeToString)' was found. Please restart the script!"
            Write-Output "$(Get-TimeStamp) Bestimmung des Typs für den Job '$($JobDetails.Name)' nicht erfolgreich. Angegeben wurde '$($JobType)'" | Add-Content -Path $log
            $ExitCode = 1
            $JobTypUnbestimmt = 1
        }

        # Job Result report
        if(($JobTypUnbestimmt -EQ 0) -AND ($JobResult.State -EQ "Stopped") -AND ($JobResult.Result -EQ "Success")){
            Write-Host "Execution of the Job '$($JobName) was successful"
            Write-Output "$(Get-TimeStamp) Backup Job $($JobDetails.Name) erfolgreich ausgeführt" | Add-Content -Path $log
            $ExitCode = 0
        } else{
            Write-Host "Execution of the Job '$($JobName) encountered an error. Please check the VBR-Console"
            Write-Output "$(Get-TimeStamp) Fehler beim ausführen vom Backup Job '$($JobDetails.Name)'" | Add-Content -Path $log
            $ExitCode = 1
        }
        #Stats
        $endTime = Get-Date
        $executionTime = $endTime - $startTime
    } catch {
        Write-Host "Something went wrong during execution"
        Write-Host $_  # This prints the actual error
        Write-Output "$(Get-TimeStamp) Error: $($_)" | Add-Content -Path $log
        $ExitCode = 1 
    }
}

End {
    Write-Output "$(Get-TimeStamp) Skript abgeschlossen für $($JobDetails.Name) Job-ID $($JobDetails.Id)" | Add-Content -Path $log
    Write-Host "Script ended."
    $seconds = "{0:N2}" -f $executionTime.TotalSeconds
    $minutes = "{0:N2}" -f ($executionTime.TotalSeconds / 60)
    Write-Host "Time for stats! The script took $($seconds) seconds or $($minutes) minutes)"
    exit $ExitCode
}
 

5
submitted 1 month ago* (last edited 1 month ago) by Appoxo@lemmy.dbzer0.com to c/linux4noobs@programming.dev
 

Trying to set tight permissions on my future NAS.
The essential on what I have:
TrueNAS NFS storage <- mounted via NFS -> Proxmox VE Host <-> Debian 12 VM
That's all fine and so on.
My little Debian VM:

NAME   FSTYPE FSVER LABEL  UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 vfat   FAT32        A5D7-88E3                             505.1M     1% /boot/efi
└─sda2 ext4   1.0          3c43a477-51fd-425b-aee8-a6e75224f781   48.5G    16% /
sdb
└─sdb1 ext4   1.0   media  e3e0eac5-806a-44e9-a0e9-07fb99a18281  933.2G     0% /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281
sdc
└─sdc1 ext4   1.0   nas    0f3a3d74-901d-4243-b20b-59210c1cee18   46.4G     0% /srv/dev-disk-by-uuid-0f3a3d74-901d-4243-b20b-59210c1cee18
sdd
└─sdd1 ext4   1.0   backup fbe21b9f-2339-4223-ac7e-00e75374fc32   46.4G     0% /srv/dev-disk-by-uuid-fbe21b9f-2339-4223-ac7e-00e75374fc32
sr0

Background:

  • media = media library for Jellyfin
  • nas = small (future) file server for my PC running Windows
  • backup = used to store backups of various services like Firewall backups with SFTP etc.

The storage on the debian VM will be mounted by a NUC running bare metal Debian due to hardware acceleration. The proxmox host is unable to do it due to it also being a NUC. But I like the flexibility I will soon have because I can just nuke my bare-metal NUC without loosing any data.

Anyway my real problem is with permissions on my media drive.
My permissions right now are as following:

1. /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281# ls -l media
drwxrwxr-x 3 nobody nogroup 4096 Oct 12 20:45 media

2. /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media# ls -l data
drwxrwsr-x+ 6 mediaU serviceG 4096 Oct 13 00:21 data

3. /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data# ls -l *
drwxrwsr-x+ 7 mediaU serviceG 4096 Oct 13 00:21 media
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 recycle_bin
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 torrents
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 usenet

4. /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data/media# ls -l *
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 anime
drwxrwsr-x+ 3 mediaU serviceG 4096 Oct 13 00:22 movie
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 music
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 soundtrack
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 tv

Current directory tree:

srv-dev-disk-by-uuid-XXX/
└── media
    └── data
        ├── media
        │   ├── anime
        │   ├── movie
        │   ├── music
        │   ├── soundtrack
        │   └── tv
        ├── recycle_bin
        ├── torrents
        └── usenet

What I am trying is:

  • Docker host mounts /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media via NFS
  • The docker containers should only be able to access the the data directory inside it (2. ls -l) as mediaU:serviceG
  • In addition I wanna access, modify and move files with my windows user without being part of the service group. Because of this I have setup SGID and ACL on the /media/data/media folder. The ACL was set recursive as follows:
/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data# getfacl media/
# file: media/
# owner: mediaU
# group: serviceG
# flags: -s-
user::rwx
group::rwx
group:extUserG:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:extUserG:rwx
default:mask::rwx
default:other::r-x

So far so good. mediaU:serviceG has RWX permissions (2775).
My user is part of the group extUserG also with 775 permission.

My issue and how I tested it under the root user executing commands via su:

  • Works:
    root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data# su mediaU -c 'mkdir dir-mediaU'
  • Doesn't work:
    root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data# su appoxo -c 'mkdir dir-extUserG' mkdir: cannot create directory ‘dir-extUserG’: Permission denied

BUT if I enter one level deeper inside the freshly created dir-mediaU folder I am able to create files with my personal account:

root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data# cd dir-mediaU/
root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data/dir-mediaU# su appoxo -c 'mkdir dir-extUserG'
root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data/dir-mediaU# ls -l
total 4
drwxrwsr-x+ 2 appoxo serviceG 4096 Oct 13 00:45 dir-extUserG
root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data/dir-mediaU# getfacl dir-extUserG/
# file: dir-extUserG/
# owner: appoxo
# group: serviceG
# flags: -s-
user::rwx
group::rwx
group:extUserG:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:extUserG:rwx
default:mask::rwx
default:other::r-x  

So dear Lemmy Community:
Have I done something wrong in my setup or thinking? I have no problem as it is right now but I am sure it will be annoying to troubleshoot in the future so might as well fix it while still setting it up.

Thanks in advance for helping slowly escaping the windows world :)

 

So often they go end of sale. Once gone and restocked I will hoard it.

 

Was grown from seed.
Last time I posted about it: https://lemmy.dbzer0.com/post/5241154

8
Does this look like graft? (lemmy.dbzer0.com)
submitted 5 months ago* (last edited 5 months ago) by Appoxo@lemmy.dbzer0.com to c/plants@lemmy.ml
 

Plant is a Yuzu Tree

The tree is declared as a "Citrus Ichangensis x Citrus reticula" but the buldge looks suspiciously like something after a grafting process.
I don't have a problem with it but the seller didn't mention any grafting being done.
I am also cautious because I live in a zone 7a area and don't wanna kill my first attempt.

Any help is appreciated :)

More pictures:

 

cross-posted from: https://lemmy.dbzer0.com/post/5519216

Species: Aeshna cyanea

Yes, it was alive at the time and left alone (outside of taking a picture)

 

Update from last post. Steadily growing :)

 

I forgot to mention, that the picture is a bit old already (my bad).
Here is an up-to-date one: https://imgur.com/a/XhtOGc7

view more: next ›