Jump to content
We're Hiring! Full Stack Developer ×

dlandon

Community Developer
  • Posts

    10,289
  • Joined

  • Last visited

  • Days Won

    20

Everything posted by dlandon

  1. I have no idea. The recycle bin plugin does not generate any files. Those files are coming from an application that is creating them and then deleting them. Try to find out which share they are in and why they are being created.
  2. New release 2015.09.23. User, disk, unassigned devices, cache, and flash shares are all now included in the recycle bin.
  3. It's not an anomaly. The only shares managed at the Settings->RecycleBin are the user shares at /mnt/user/. Any shares not mounted at /mnt/user have to be managed manually. Click the 'Help' button for more information on the Settings->RecycleBin. I would like to include the disk shares, but I'm having a few issues with that. OK. Since Samba put them into the .RecyledBin folder I thought the hard work had been done and it would probably just be a case of the plugin cycling through the disks as well looking for .RecycledBin folders when working out what to trash. Obviously it is not as easy as it first appears It's not as much a technical issue as making sense for the user. I didn't think that deleting files at the disk share was something that people did. I guess I don't understand why one would do that. I want to get the webgui to browse all the recycle bins. I can't get the built in browser to browse /mnt/user/*/.Recycle.Bin and /mnt/disk*/.Recycle.Bin at the same time. I don't think it's meant to handle that. So I will have to set up a way to browse each one separately. Well actually at least 3 tabs, if you include the Flash device. Then maybe 1 more for all Unassigned Devices or one per unassigned device? I am working on what might be a good solution to include disk shares, the flash share, and unassigned devices shares. Perhaps take the cheap way out and have 2 tabs / sections (depending on the users preferences), one for User Shares and one for Disk Shares? This is similar to how the UI already splits the two shares (user and disk) in the settings screen. There are other shares to consider: flash, cache, and unassigned devices. I'm going to do something similar to your idea. I will still have one recycle bin, but you'll be able to browse shares by: User Shares, Disk Shares, Cache Share, Unassigned Devices Shares, and flash share. Trash operations like empty the trash and remove aged files will manage all shares.
  4. It's not an anomaly. The only shares managed at the Settings->RecycleBin are the user shares at /mnt/user/. Any shares not mounted at /mnt/user have to be managed manually. Click the 'Help' button for more information on the Settings->RecycleBin. I would like to include the disk shares, but I'm having a few issues with that. OK. Since Samba put them into the .RecyledBin folder I thought the hard work had been done and it would probably just be a case of the plugin cycling through the disks as well looking for .RecycledBin folders when working out what to trash. Obviously it is not as easy as it first appears It's not as much a technical issue as making sense for the user. I didn't think that deleting files at the disk share was something that people did. I guess I don't understand why one would do that. I want to get the webgui to browse all the recycle bins. I can't get the built in browser to browse /mnt/user/*/.Recycle.Bin and /mnt/disk*/.Recycle.Bin at the same time. I don't think it's meant to handle that. So I will have to set up a way to browse each one separately. I am working on what might be a good solution to include disk shares, the flash share, and unassigned devices shares.
  5. It's not an anomaly. The only shares managed at the Settings->RecycleBin are the user shares at /mnt/user/. Any shares not mounted at /mnt/user have to be managed manually. Click the 'Help' button for more information on the Settings->RecycleBin. I would like to include the disk shares, but I'm having a few issues with that. OK. Since Samba put them into the .RecyledBin folder I thought the hard work had been done and it would probably just be a case of the plugin cycling through the disks as well looking for .RecycledBin folders when working out what to trash. Obviously it is not as easy as it first appears Why do you delete files from a disk share instead of a user share?
  6. It's not an anomaly. The only shares managed at the Settings->RecycleBin are the user shares at /mnt/user/. Any shares not mounted at /mnt/user have to be managed manually. Click the 'Help' button for more information on the Settings->RecycleBin. I would like to include the disk shares, but I'm having a few issues with that.
  7. Let me know how it goes. I am tending to favor a daily empty trash for selected shares.
  8. Because I am doing the recycle bin globally on all shares, I can't control a single share. I was hoping I could block a share from putting deleted files in its .Recycle.Bin but I haven't found a way. Probably the cleanest way to handle this is with a periodic cron to delete the //Share/.Recycle.Bin files. For the moment you can set up a cron script to delete the recycle bin on the share. Name it 'empty_share_recycle_bin #!/bin/sh rm -rf /mnt/user/Share/.Recycle.Bin/* And copy it to /etc/cron.hourly/ and the script will run every hour, or /etc/cron.daily/ and the script will run daily. This is the best I can come up with to handle a share where the recycle bin is not wanted. I'm thinking once a day is sufficient. This would keep the disk operations to a minimum and would be handled when other daily jobs are run. Each hour would probably be overkill and potentially spin up disks every hour to delete the recycle bin on a share. If anyone has any feedback let me know. I can add this functionality, but I want to make sure it makes sense before I do.
  9. Because I am doing the recycle bin globally on all shares, I can't control a single share. I was hoping I could block a share from putting deleted files in its .Recycle.Bin but I haven't found a way. Probably the cleanest way to handle this is with a periodic cron to delete the //Share/.Recycle.Bin files. For the moment you can set up a cron script to delete the recycle bin on the share. Name it 'empty_share_recycle_bin #!/bin/sh rm -rf /mnt/user/Share/.Recycle.Bin/* And copy it to /etc/cron.hourly/ and the script will run every hour, or /etc/cron.daily/ and the script will run daily.
  10. No one has really requested that. I'll see what it would take to do that.
  11. I've changed the plugin name from "vfs_recycle" to "recycle.bin" and moved the repository to "recycle.bin" to be more compatible with plugin convention. I also made some changes for plugin convention. You will need to remove the current version of recycle bin and then re-install from this link: https://github.com/dlandon/recycle.bin/raw/master/recycle.bin.plg None of your deleted files will be affected and nothing about the operation of the recycle bin changes.
  12. Thanks for reporting. Will take a look into it soon. Can you please send me the output of this command: ls -la /dev/disk/by-id ? total 0 drwxr-xr-x 2 root root 520 Sep 19 07:45 ./ drwxr-xr-x 6 root root 120 Sep 19 07:45 ../ lrwxrwxrwx 1 root root 9 Sep 19 07:45 ata-HL-DT-ST_DVDRAM_GH24NS95_K3TD71J1251 -> ../../sr0 lrwxrwxrwx 1 root root 9 Sep 19 07:45 ata-Samsung_SSD_850_PRO_256GB_S1SUNSAF902713T -> ../../sda lrwxrwxrwx 1 root root 10 Sep 19 07:45 ata-Samsung_SSD_850_PRO_256GB_S1SUNSAF902713T-part1 -> ../../sda1 lrwxrwxrwx 1 root root 9 Sep 19 07:45 ata-WDC_WD10EADS-00L5B1_WD-WCAU47447856 -> ../../sdb lrwxrwxrwx 1 root root 10 Sep 19 07:45 ata-WDC_WD10EADS-00L5B1_WD-WCAU47447856-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 9 Sep 19 07:45 ata-WDC_WD10EARS-00Y5B1_WD-WCAV55063796 -> ../../sdd lrwxrwxrwx 1 root root 10 Sep 19 07:45 ata-WDC_WD10EARS-00Y5B1_WD-WCAV55063796-part1 -> ../../sdd1 lrwxrwxrwx 1 root root 9 Sep 19 07:45 ata-WDC_WD20EURS-63S48Y0_WD-WCAZAH868851 -> ../../sdc lrwxrwxrwx 1 root root 10 Sep 19 07:45 ata-WDC_WD20EURS-63S48Y0_WD-WCAZAH868851-part1 -> ../../sdc1 lrwxrwxrwx 1 root root 9 Sep 19 07:45 ata-WDC_WD5000AACS-00ZUB0_WD-WCASU6424348 -> ../../sdf lrwxrwxrwx 1 root root 10 Sep 19 07:45 ata-WDC_WD5000AACS-00ZUB0_WD-WCASU6424348-part1 -> ../../sdf1 lrwxrwxrwx 1 root root 9 Sep 19 07:45 usb-SanDisk_Cruzer_351421114FE1B094-0:0 -> ../../sde lrwxrwxrwx 1 root root 10 Sep 19 07:45 usb-SanDisk_Cruzer_351421114FE1B094-0:0-part1 -> ../../sde1 lrwxrwxrwx 1 root root 9 Sep 19 07:45 wwn-0x5001480000000000 -> ../../sr0 lrwxrwxrwx 1 root root 9 Sep 19 07:45 wwn-0x50014ee1019fceab -> ../../sdb lrwxrwxrwx 1 root root 10 Sep 19 07:45 wwn-0x50014ee1019fceab-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 9 Sep 19 07:45 wwn-0x50014ee156b8d452 -> ../../sdf lrwxrwxrwx 1 root root 10 Sep 19 07:45 wwn-0x50014ee156b8d452-part1 -> ../../sdf1 lrwxrwxrwx 1 root root 9 Sep 19 07:45 wwn-0x50014ee25910b533 -> ../../sdd lrwxrwxrwx 1 root root 10 Sep 19 07:45 wwn-0x50014ee25910b533-part1 -> ../../sdd1 lrwxrwxrwx 1 root root 9 Sep 19 07:45 wwn-0x50014ee2b20ac1e1 -> ../../sdc lrwxrwxrwx 1 root root 10 Sep 19 07:45 wwn-0x50014ee2b20ac1e1-part1 -> ../../sdc1 lrwxrwxrwx 1 root root 9 Sep 19 07:45 wwn-0x50025388a068e6fc -> ../../sda lrwxrwxrwx 1 root root 10 Sep 19 07:45 wwn-0x50025388a068e6fc-part1 -> ../../sda1
  13. Updated. That problem is fixed. I am getting a lot of messages on my console: blockdev: cannot open /dev/sr0: No medium found sr0 is a DVD drive. EDIT: Unassigned Devices also shows as wanting to format the DVD.
  14. Did you intend for all this to show when the plugin is updated to 2015.09.18b? This also shows up in the Unassigned Devices tab of Main. +============================================================================== | Installing new package /boot/config/plugins/unassigned.devices/unassigned.devices-2015.09.18b.txz +============================================================================== Verifying package unassigned.devices-2015.09.18b.txz. Installing package unassigned.devices-2015.09.18b.txz: PACKAGE DESCRIPTION: Package unassigned.devices-2015.09.18b.txz installed. Array ( [DEVLINKS] => /dev/disk/by-id/ata-WDC_WD10JFCX-68N6GN0_WD-WXB1A2493019-part1 /dev/disk/by-id/wwn-0x50014ee6046e4063-part1 /dev/disk/by-uuid/2c07237d-9a0e-4703-a74c-bfdb2068a187 [DEVNAME] => /dev/sdj1 [DEVPATH] => /devices/pci0000:00/0000:00:1c.4/0000:05:00.0/ata10/host9/target9:0:0/9:0:0:0/block/sdj/sdj1 [DEVTYPE] => partition [iD_ATA] => 1 [iD_ATA_DOWNLOAD_MICROCODE] => 1 [iD_ATA_FEATURE_SET_APM] => 1 [iD_ATA_FEATURE_SET_APM_CURRENT_VALUE] => 128 [iD_ATA_FEATURE_SET_APM_ENABLED] => 1 [iD_ATA_FEATURE_SET_HPA] => 1 [iD_ATA_FEATURE_SET_HPA_ENABLED] => 1 [iD_ATA_FEATURE_SET_PM] => 1 [iD_ATA_FEATURE_SET_PM_ENABLED] => 1 [iD_ATA_FEATURE_SET_PUIS] => 1 [iD_ATA_FEATURE_SET_PUIS_ENABLED] => 0 [iD_ATA_FEATURE_SET_SECURITY] => 1 [iD_ATA_FEATURE_SET_SECURITY_ENABLED] => 0 [iD_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN] => 202 [iD_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN] => 202 [iD_ATA_FEATURE_SET_SECURITY_FROZEN] => 1 [iD_ATA_FEATURE_SET_SMART] => 1 [iD_ATA_FEATURE_SET_SMART_ENABLED] => 1 [iD_ATA_ROTATION_RATE_RPM] => 5400 [iD_ATA_SATA] => 1 [iD_ATA_SATA_SIGNAL_RATE_GEN1] => 1 [iD_ATA_SATA_SIGNAL_RATE_GEN2] => 1 [iD_ATA_WRITE_CACHE] => 1 [iD_ATA_WRITE_CACHE_ENABLED] => 1 [iD_BUS] => ata [iD_FS_TYPE] => xfs [iD_FS_USAGE] => filesystem [iD_FS_UUID] => 2c07237d-9a0e-4703-a74c-bfdb2068a187 [iD_FS_UUID_ENC] => 2c07237d-9a0e-4703-a74c-bfdb2068a187 [iD_MODEL] => WDC_WD10JFCX-68N6GN0 [iD_MODEL_ENC] => WDC\x20WD10JFCX-68N6GN0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20 [iD_PART_ENTRY_DISK] => 8:144 [iD_PART_ENTRY_NUMBER] => 1 [iD_PART_ENTRY_OFFSET] => 64 [iD_PART_ENTRY_SCHEME] => dos [iD_PART_ENTRY_SIZE] => 1953525104 [iD_PART_ENTRY_TYPE] => 0x83 [iD_PART_TABLE_TYPE] => dos [iD_REVISION] => 01.01A01 [iD_SERIAL] => WDC_WD10JFCX-68N6GN0_WD-WXB1A2493019 [iD_SERIAL_SHORT] => WD-WXB1A2493019 [iD_TYPE] => disk [iD_WWN] => 0x50014ee6046e4063 [iD_WWN_WITH_EXTENSION] => 0x50014ee6046e4063 [MAJOR] => 8 [MINOR] => 145 [sUBSYSTEM] => block [uDEV_LOG] => 3 [uSEC_INITIALIZED] => 10008532 )
  15. 48 x 48 transparent background. I appreciate this. I don't have anything but MS paint and it does not resize and keep the background transparent. Thank you.
  16. Glad it worked. I think this procedure makes it easy to see what is happening. Mine too.
  17. Just released the new version. Let me know what you think. It is really quite safe to stop all array processes. All it does is the part of the shutdown done exactly like emhttp and powerdown and then stops just before the array is stopped. You don't need the powerdown plugin. This plugin is totally separate. Just remember when you stop all array processes, you are effectively shutting down the array. Shares will stop, Docker will stop, and VMs will stop.
  18. I appreciate everyone's help with bringing this plugin online and making it into what I feel now is a valuable tool. Some of the names of those who contributed I recognize as being some of the best on the LimeTech forum. Thanks. I knew the work bubbaQ did would be valuable, but wasn't exactly sure how to make the most of it. I think now we have something that can work effectively. I am working remotely and will put the final touches on the plugin when I get home before I release a new version this evening.
  19. Soooo, its going to be like a 2 step process...? Step 1 stops dockers, plugins, etc... Step 2 would be the scanning and ability to kill leftover running processes not caught in step 1. Step 3 would be to stop the array and any other stock unRAID operation on Main... Is it possible that step 1 or 2 will "kill" anything needed for the web ui? If correct, this sounds good to me.... Thanks for working on this... I have pulled a lot of hair from my head over the years with the shutdown/reboot process. It's exactly the same as clicking the stop button but the array is not stopped. The webgui is alive and you can stop the array as normal and then start it back up to normal operation, reboot, or shutdown. If you kill all the processes holding files open, you will get a clean shut down. I believe this state is the same as the maintenance mode - array is started and drives are mounted. So the array ends up in a state where all processes on the array are supposed to be stopped, but the array is not stopped. If the array is stopped with processes still having open files on the array, the array is marked as in an unclean shutdown state and a parity check will happen on the next boot. Because the array is not stopped, an abrupt loss of power or abrupt shutdown (pressing the reset button), will cause an unclean shutdown. You will want to treat this state the exact same way as the array is running and drives are mounted - which they are. I suspect this process is going to show some weaknesses in plugins not stopping properly. This is the most common cause of the 'hangs' - a plugin fails to shutdown properly, or has spawned child processes that continue to run. My hope is that this will help all of us by making the process of finding the shutdown issues easier for the all of us, especially the novice. Geez, I have problems finding these kinds of issues and I think I know what I am doing. (Although some might question that). I don't intend for this to be the normal shutdown procedure. I only offer it up for those situations where a clean shutdown is not occurring and one wants to find the problem.
  20. Yes. Thanks. The posts were only a few seconds apart so I didn't see yours until after I had already posted. When running the revised script, only hung processes will still be listed in the plugin right? And then the procedure would be to kill any processes still running and proceed with a reboot? Or does the script just exit back to a normally operating server when you click the "Done" button. Or maybe I should save my question until you have actually completed and released it. What I am doing is getting the array in a state where all processes are stopped: Plugins, docker, VMs, samba, nfs, avahi, etc. The array is not stopped. It will stay this way until you go to the 'Main->Array Operation' and choose what to do there. If you want to reboot then stop the array and reboot as normal. Or you can re-start the array by stopping and then starting
  21. So how would one use this? Is there a way to send the command lines NOT on the webui.... something that sends the command to the console some way. Or create a console script that lists running process and allows you to kill them. The intended use was to check for issues using this plugin BEFORE you try to shut down the array, and then once the plugin gives the all clear, do the shutdown using the webui. It was suggested that the plugin should intercept the shutdown attempt if it detected issues and allow you to intervene before passing through the shutdown command, but that was deemed too intrusive for a non-limetech supported plugin. I must be missing something. What exactly is the "All Clear"? All I see is a list of running processes and kill buttons. Read the previous post that will make this process a lot easier and more foolproof.
  22. The plugin has an issue when there is no other plugin installed at 'Tools->System Information'. It is not creating that grouping and therefore does not show up. If another plugin is installed there such as dynamix active streams, it will show up. I'm working on the solution. At work right now, but its probably the same as when plugins had to include the utilities.page file. If you look in the folder for active streams, you'll probably see another .page file called something like system utilizes that is basically empty. Just copy that file into your folder. Ok. I'll take a look.
  23. So how would one use this? Is there a way to send the command lines NOT on the webui.... something that sends the command to the console some way. Or create a console script that lists running process and allows you to kill them. I have come up with an idea that I think will make this plugin more useful in troubleshooting shutdown problems. I have extracted a part of the powerdown plugin script that essentially stops all array processes and leaves the array on line. This will put the system in the state of all processes on the array being stopped so you can use open files to see what processes are left with open files on the array. You can Kill the processes on the array holding files open, or better yet troubleshoot why the processes is holding the files open and solve that problem so a normal webgui shutdown can occur. This script is executed in the open files webgui by a button click and will terminate when done and will not hang waiting for a process to terminate. There is some status of what is happening on the bottom of the screen similar to what happens when the webgui shutdown is used. I don't intend for this to substitute for a normal shutdown. It is a tool to be used to troubleshoot shutdown problems. I'll work on it some more to be sure it works as advertised before releasing it. I will probably remove the 'Open Files' tab on Main, because it is not really needed if this idea of mine works, and is a bit messy. You'll be able to do everything you need from the open files webgui.
  24. The plugin has an issue when there is no other plugin installed at 'Tools->System Information'. It is not creating that grouping and therefore does not show up. If another plugin is installed there such as dynamix active streams, it will show up. I'm working on the solution.
  25. Click on Tools and you should see it in the "System Information" at the bottom of the page. Is there a "System Information" group below About?
×
×
  • Create New...