问题描述
我正在Laradock上的Laravel应用程序(Docker容器)上使用Spatie的Laravel Backup。
使用此软件包,您可以运行手动备份或安排它。
手动备份确实有效。
首先我进入容器,然后运行手动备份:
$ docker exec -it workspace bash
/var/www# artisan backup:run
Starting backup...
Dumping database superDB...
Determining files to backup...
Zipping 5111 files and directories...
Created zip containing 5111 files and directories. Size is 80.08 MB
Copying zip to disk named backup...
Successfully copied zip to disk named superBU.
Backup completed!
但是,计划的备份无法正常工作
$schedule->command('backup:run')->sundays()->at('11:11');
因为它引发了以下错误异常:
RecursiveDirectoryIterator :: __ construct(/ var / www / laradock / containers-data / mysql /#innodb_temp): 无法打开目录:权限被拒绝
异常跟踪:#0 /var/www/vendor/spatie/laravel-backup/src/Tasks/Backup/FileSelection.php(109): Symfony \ Component \ Finder \ Iterator \ RecursiveDirectoryIterator-> getChildren() #1 /var/www/vendor/spatie/laravel-backup/src/Tasks/Backup/Manifest.php(41): Spatie \ Backup \ Tasks \ Backup \ FileSelection-> selectedFiles()#2 /var/www/vendor/spatie/laravel-backup/src/Tasks/Backup/BackupJob.php(176): Spatie \ Backup \ Tasks \ Backup \ Manifest-> addFiles()#3 /var/www/vendor/spatie/laravel-backup/src/Tasks/Backup/BackupJob.php(146): Spatie \ Backup \ Tasks \ Backup \ BackupJob-> createBackupManifest()#4 /var/www/vendor/spatie/laravel-backup/src/Commands/BackupCommand.php(56): Spatie \ Backup \ Tasks \ Backup \ BackupJob-> run()
该存储文件夹具有以下permissions:
drwxrwxr-x. 8 root laradock 90 Sep 01 13:00 storage
在storage/
文件夹中,有两个文件夹可以实现备份:
drwxr-xr-x. 3 laradock www-data 50 Sep 02 10:56 backups
drwxr-xr-x. 2 laradock www-data 3 Oct 02 11:06 backup-temp
containers-data/mysql/
文件夹具有以下权限:
drwxr-x---. 2 999 www-data 187 Aug 10 23:01 '#innodb_temp'
有人可以shed some light或lots of light吗?为什么计划的备份不起作用?为什么仅手动备份“ artisan backup:run”有效?
我已经签出了这个question,还没有给出答案。
我没有尝试过this GitHub answer,建议将所有权更改为
$ sudo docker-compose exec workspace bash
# chown -R laradock:laradock /var/www/
This other answer讲述了如何在容器内测试laradock
用户。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)