snipe / snipe-it

A free open source IT asset/license management system
https://snipeitapp.com
GNU Affero General Public License v3.0
10.81k stars 3.13k forks source link

unable to backup via GUI, but works via CLI #13354

Closed akosilar closed 2 weeks ago

akosilar commented 1 year ago

Debug mode

Describe the bug

Even with the database setting below, backup is failing when done from the GUI.

DB_DUMP_PATH=C:\\PROGRA~1\\MARIAD~1.2\\bin

Reproduction steps

  1. Went to admin>settings>backup
  2. clicked on generate backup
  3. ...

Expected behavior

I have not seen what a successful backup looks like in the GUI.

Screenshots

No response

Snipe-IT Version

v6.1.2 build 10938 (g32747cafd)

Operating System

Windows 11 enterprise 21h2

Web Server

IIS

PHP Version

8.1.21

Operating System

Windows 11 enterprise 21h2

Browser

microsoft edge

Version

Version 114.0.1823.82 (Official build) (64-bit)

Device

No response

Operating System

No response

Browser

No response

Version

No response

Error messages

Error Backup failed because The dump process failed with exitcode 1 : General error : . #0 C:\inetpub\wwwroot\snipe-it\vendor\spatie\db-dumper\src\DbDumper.php(263): Spatie\DbDumper\Exceptions\DumpFailed::processDidNotEndSuccessfully() #1 C:\inetpub\wwwroot\snipe-it\vendor\spatie\db-dumper\src\Databases\MySql.php(203): Spatie\DbDumper\DbDumper->checkIfDumpWasSuccessFul() #2 C:\inetpub\wwwroot\snipe-it\vendor\spatie\laravel-backup\src\Tasks\Backup\BackupJob.php(260): Spatie\DbDumper\Databases\MySql->dumpToFile() #3 [internal function]: Spatie\Backup\Tasks\Backup\BackupJob->Spatie\Backup\Tasks\Backup\{closure}() #4 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Collections\Collection.php(695): array_map() #5 C:\inetpub\wwwroot\snipe-it\vendor\spatie\laravel-backup\src\Tasks\Backup\BackupJob.php(263): Illuminate\Support\Collection->map() #6 C:\inetpub\wwwroot\snipe-it\vendor\spatie\laravel-backup\src\Tasks\Backup\BackupJob.php(171): Spatie\Backup\Tasks\Backup\BackupJob->dumpDatabases() #7 C:\inetpub\wwwroot\snipe-it\vendor\spatie\laravel-backup\src\Tasks\Backup\BackupJob.php(147): Spatie\Backup\Tasks\Backup\BackupJob->createBackupManifest() #8 C:\inetpub\wwwroot\snipe-it\vendor\spatie\laravel-backup\src\Commands\BackupCommand.php(56): Spatie\Backup\Tasks\Backup\BackupJob->run() #9 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(36): Spatie\Backup\Commands\BackupCommand->handle() #10 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Container\Util.php(40): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #11 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure() #12 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod() #13 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Container\Container.php(653): Illuminate\Container\BoundMethod::call() #14 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Console\Command.php(136): Illuminate\Container\Container->call() #15 C:\inetpub\wwwroot\snipe-it\vendor\symfony\console\Command\Command.php(298): Illuminate\Console\Command->execute() #16 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Console\Command.php(121): Symfony\Component\Console\Command\Command->run() #17 C:\inetpub\wwwroot\snipe-it\vendor\spatie\laravel-backup\src\Commands\BaseCommand.php(16): Illuminate\Console\Command->run() #18 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Console\Concerns\CallsCommands.php(68): Spatie\Backup\Commands\BaseCommand->run() #19 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Console\Concerns\CallsCommands.php(28): Illuminate\Console\Command->runCommand() #20 C:\inetpub\wwwroot\snipe-it\app\Console\Commands\SystemBackup.php(48): Illuminate\Console\Command->call() #21 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(36): App\Console\Commands\SystemBackup->handle() #22 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Container\Util.php(40): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #23 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure() #24 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod() #25 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Container\Container.php(653): Illuminate\Container\BoundMethod::call() #26 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Console\Command.php(136): Illuminate\Container\Container->call() #27 C:\inetpub\wwwroot\snipe-it\vendor\symfony\console\Command\Command.php(298): Illuminate\Console\Command->execute() #28 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Console\Command.php(121): Symfony\Component\Console\Command\Command->run() #29 C:\inetpub\wwwroot\snipe-it\vendor\symfony\console\Application.php(1040): Illuminate\Console\Command->run() #30 C:\inetpub\wwwroot\snipe-it\vendor\symfony\console\Application.php(301): Symfony\Component\Console\Application->doRunCommand() #31 C:\inetpub\wwwroot\snipe-it\vendor\symfony\console\Application.php(171): Symfony\Component\Console\Application->doRun() #32 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Console\Application.php(94): Symfony\Component\Console\Application->run() #33 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Console\Application.php(186): Illuminate\Console\Application->run() #34 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(263): Illuminate\Console\Application->call() #35 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php(261): Illuminate\Foundation\Console\Kernel->call() #36 C:\inetpub\wwwroot\snipe-it\app\Http\Controllers\SettingsController.php(1139): Illuminate\Support\Facades\Facade::__callStatic() #37 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Routing\Controller.php(54): App\Http\Controllers\SettingsController->postBackups() #38 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction() #39 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Routing\Route.php(262): Illuminate\Routing\ControllerDispatcher->dispatch() #40 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Routing\Route.php(205): Illuminate\Routing\Route->runController() #41 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Routing\Router.php(721): Illuminate\Routing\Route->run() #42 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(128): Illuminate\Routing\Router->Illuminate\Routing\{closure}() #43 C:\inetpub\wwwroot\snipe-it\app\Http\Middleware\CheckPermissions.php(24): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #44 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\CheckPermissions->handle() #45 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Session\Middleware\AuthenticateSession.php(58): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #46 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Session\Middleware\AuthenticateSession->handle() #47 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Auth\Middleware\Authenticate.php(44): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #48 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Auth\Middleware\Authenticate->handle() #49 C:\inetpub\wwwroot\snipe-it\app\Http\Middleware\AssetCountForSidebar.php(62): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #50 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\AssetCountForSidebar->handle() #51 C:\inetpub\wwwroot\snipe-it\vendor\laravel\passport\src\Http\Middleware\CreateFreshApiToken.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #52 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Laravel\Passport\Http\Middleware\CreateFreshApiToken->handle() #53 C:\inetpub\wwwroot\snipe-it\app\Http\Middleware\CheckForTwoFactor.php(59): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #54 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\CheckForTwoFactor->handle() #55 C:\inetpub\wwwroot\snipe-it\app\Http\Middleware\CheckUserIsActivated.php(47): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #56 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\CheckUserIsActivated->handle() #57 C:\inetpub\wwwroot\snipe-it\app\Http\Middleware\CheckLocale.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #58 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\CheckLocale->handle() #59 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #60 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() #61 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #62 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() #63 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #64 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Cookie\Middleware\EncryptCookies->handle() #65 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #66 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Routing\Router.php(723): Illuminate\Pipeline\Pipeline->then() #67 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Routing\Router.php(698): Illuminate\Routing\Router->runRouteWithinStack() #68 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Routing\Router.php(662): Illuminate\Routing\Router->runRoute() #69 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Routing\Router.php(651): Illuminate\Routing\Router->dispatchToRoute() #70 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(167): Illuminate\Routing\Router->dispatch() #71 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(128): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() #72 C:\inetpub\wwwroot\snipe-it\vendor\livewire\livewire\src\DisableBrowserCache.php(19): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #73 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Livewire\DisableBrowserCache->handle() #74 C:\inetpub\wwwroot\snipe-it\vendor\barryvdh\laravel-debugbar\src\Middleware\InjectDebugbar.php(66): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #75 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle() #76 C:\inetpub\wwwroot\snipe-it\vendor\fruitcake\laravel-cors\src\HandleCors.php(38): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #77 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Fruitcake\Cors\HandleCors->handle() #78 C:\inetpub\wwwroot\snipe-it\app\Http\Middleware\PreventBackHistory.php(23): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #79 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\PreventBackHistory->handle() #80 C:\inetpub\wwwroot\snipe-it\app\Http\Middleware\SecurityHeaders.php(26): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #81 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\SecurityHeaders->handle() #82 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #83 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle() #84 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle() #85 C:\inetpub\wwwroot\snipe-it\app\Http\Middleware\CheckForDebug.php(25): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #86 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\CheckForDebug->handle() #87 C:\inetpub\wwwroot\snipe-it\app\Http\Middleware\CheckForSetup.php(25): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #88 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\CheckForSetup->handle() #89 C:\inetpub\wwwroot\snipe-it\vendor\fideloper\proxy\src\TrustProxies.php(57): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #90 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Fideloper\Proxy\TrustProxies->handle() #91 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\View\Middleware\ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #92 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\View\Middleware\ShareErrorsFromSession->handle() #93 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #94 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest() #95 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Session\Middleware\StartSession->handle() #96 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #97 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle() #98 C:\inetpub\wwwroot\snipe-it\app\Http\Middleware\NoSessionStore.php(28): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #99 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\NoSessionStore->handle() #100 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #101 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(142): Illuminate\Pipeline\Pipeline->then() #102 C:\inetpub\wwwroot\snipe-it\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(111): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() #103 C:\inetpub\wwwroot\snipe-it\public\index.php(52): Illuminate\Foundation\Http\Kernel->handle() #104 {main} Backup failed because: The dump process failed with exitcode 1 : General error : .

Additional context

fresh install windows 11, and iis installed via git adjusted IUSR permissions as stated in the help guide manual backup works via CLI php artisan snipeit:backup

welcome[bot] commented 1 year ago

👋 Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can.

snipe commented 1 year ago

When was the last time you updated? We put in a fix for windows backups a week or so ago to master.

13179 https://github.com/snipe/snipe-it/pull/13230

akosilar commented 1 year ago

When was the last time you updated? We put in a fix for windows backups a week or so ago to master.

13179 #13230

It seems I have the latest version based from the changelog. I did another git clone to the directory it's installed, but I still get the error.

akosilar commented 1 year ago

I also took a look at the settingscontroller.php, and confirmed it has the change in the update.

image
FillmoreB0 commented 6 months ago

I also have this same issue.

New install on Windows Server 2019 with IIS 10. Snipe-IT Version v6.3.0 - build 12490 (master). Verified windows permissions per the install guide (several times).

The command "php artisan snipeit:backup" completes as expected and generates the backup ZIP file.

Clicking the "Generate Backup" button in the web interface generates a wall of errors.

More info: Initially, the wall of errors included "Backup failed because The dump process failed with exitcode 1 : General error : . #0 C:\inetpub\wwwroot\snipe-it\vendor\spatie\db-dumper\src\DbDumper.php(263): Spatie\DbDumper\Exceptions\DumpFailed::processDidNotEndSuccessfully() ..."

After searching for resolutions, I re-re-re-set all the folder permissions and now I get the "Backup failed because The dump process failed with exitcode 1 : General error : Access is denied. ..." error. It sure would be helpful if the error message included where the access was denied...

Thanks in advance.

BernardMcWeeney commented 2 months ago

I too have this exact same issue,

Fresh install, latest version: Version v6.4.2 - build 13487 (master) Windows Server

Any update on a resolution to this? Thanks

snipe commented 2 months ago

It sure would be helpful if the error message included where the access was denied...

That message is what mysqldump itself is saying. The backup uses mysqldump, so if it's not a directory permission issue, or a path issue (it's usually a path issue), it's a DB user/grant permissions issue.