.
This commit is contained in:
parent
3a20e8fe7e
commit
1911549f5b
135
Eingang/unraid-clear-disk.md
Normal file
135
Eingang/unraid-clear-disk.md
Normal file
@ -0,0 +1,135 @@
|
||||
Script um Disk in Unraid zu löschen :
|
||||
|
||||
```Plaintext
|
||||
#!/bin/bash
|
||||
# A script to clear an unRAID array drive. It first checks the drive is completely empty,
|
||||
# except for a marker indicating that the user desires to clear the drive. The marker is
|
||||
# that the drive is completely empty except for a single folder named 'clear-me'.
|
||||
#
|
||||
# Array must be started, and drive mounted. There's no other way to verify it's empty.
|
||||
# Without knowing which file system it's formatted with, I can't mount it.
|
||||
#
|
||||
# Quick way to prep drive: format with ReiserFS, then add 'clear-me' folder.
|
||||
#
|
||||
# 1.0 first draft
|
||||
# 1.1 add logging, improve comments
|
||||
# 1.2 adapt for User.Scripts, extend wait to 60 seconds
|
||||
# 1.3 add progress display; confirm by key (no wait) if standalone; fix logger
|
||||
# 1.4 only add progress display if unRAID version >= 6.2
|
||||
|
||||
version="1.4"
|
||||
marker="clear-me"
|
||||
found=0
|
||||
wait=60
|
||||
p=${0%%$P} # dirname of program
|
||||
p=${p:0:18}
|
||||
q="/tmp/user.scripts/"
|
||||
|
||||
echo -e "*** Clear an unRAID array data drive *** v$version\n"
|
||||
|
||||
# Check if array is started
|
||||
ls /mnt/disk[1-9]* 1>/dev/null 2>/dev/null
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "ERROR: Array must be started before using this script"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Look for array drive to clear
|
||||
n=0
|
||||
echo -n "Checking all array data drives (may need to spin them up) ... "
|
||||
if [ "$p" == "$q" ] # running in User.Scripts
|
||||
then
|
||||
echo -e "\n"
|
||||
c="<font color=blue>"
|
||||
c0="</font>"
|
||||
else #set color teal
|
||||
c="\x1b[36;01m"
|
||||
c0="\x1b[39;49;00m"
|
||||
fi
|
||||
|
||||
for d in /mnt/disk[1-9]*
|
||||
do
|
||||
x=`ls -A $d`
|
||||
z=`du -s $d`
|
||||
y=${z:0:1}
|
||||
# echo -e "d:"$d "x:"${x:0:20} "y:"$y "z:"$z
|
||||
|
||||
# the test for marker and emptiness
|
||||
if [ "$x" == "$marker" -a "$y" == "0" ]
|
||||
then
|
||||
found=1
|
||||
break
|
||||
fi
|
||||
let n=n+1
|
||||
done
|
||||
|
||||
#echo -e "found:"$found "d:"$d "marker:"$marker "z:"$z "n:"$n
|
||||
|
||||
# No drives found to clear
|
||||
if [ $found == "0" ]
|
||||
then
|
||||
echo -e "\rChecked $n drives, did not find an empty drive ready and marked for clearing!\n"
|
||||
echo "To use this script, the drive must be completely empty first, no files"
|
||||
echo "or folders left on it. Then a single folder should be created on it"
|
||||
echo "with the name 'clear-me', exactly 8 characters, 7 lowercase and 1 hyphen."
|
||||
echo "This script is only for clearing unRAID data drives, in preparation for"
|
||||
echo "removing them from the array. It does not add a Preclear signature."
|
||||
exit
|
||||
fi
|
||||
|
||||
# check unRAID version
|
||||
v1=`cat /etc/unraid-version`
|
||||
# v1 is 'version="6.2.0-rc5"' (fixme if 6.10.* happens)
|
||||
v2="${v1:9:1}${v1:11:1}"
|
||||
if [[ $v2 -ge 62 ]]
|
||||
then
|
||||
v=" status=progress"
|
||||
else
|
||||
v=""
|
||||
fi
|
||||
#echo -e "v1=$v1 v2=$v2 v=$v\n"
|
||||
|
||||
# First, warn about the clearing, and give them a chance to abort
|
||||
echo -e "\rFound a marked and empty drive to clear: $c Disk ${d:9} $c0 ( $d ) "
|
||||
echo -e "* Disk ${d:9} will be unmounted first."
|
||||
echo "* Then zeroes will be written to the entire drive."
|
||||
echo "* Parity will be preserved throughout."
|
||||
echo "* Clearing while updating Parity takes a VERY long time!"
|
||||
echo "* The progress of the clearing will not be visible until it's done!"
|
||||
echo "* When complete, Disk ${d:9} will be ready for removal from array."
|
||||
echo -e "* Commands to be executed:\n***** $c umount $d $c0\n***** $c dd bs=1M if=/dev/zero of=/dev/md${d:9} $v $c0\n"
|
||||
if [ "$p" == "$q" ] # running in User.Scripts
|
||||
then
|
||||
echo -e "You have $wait seconds to cancel this script (click the red X, top right)\n"
|
||||
sleep $wait
|
||||
else
|
||||
echo -n "Press ! to proceed. Any other key aborts, with no changes made. "
|
||||
ch=""
|
||||
read -n 1 ch
|
||||
echo -e -n "\r \r"
|
||||
if [ "$ch" != "!" ];
|
||||
then
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
# Perform the clearing
|
||||
logger -tclear_array_drive "Clear an unRAID array data drive v$version"
|
||||
echo -e "\rUnmounting Disk ${d:9} ..."
|
||||
logger -tclear_array_drive "Unmounting Disk ${d:9} (command: umount $d ) ..."
|
||||
umount $d
|
||||
echo -e "Clearing Disk ${d:9} ..."
|
||||
logger -tclear_array_drive "Clearing Disk ${d:9} (command: dd bs=1M if=/dev/zero of=/dev/md${d:9} $v ) ..."
|
||||
dd bs=1M if=/dev/zero of=/dev/md${d:9} $v
|
||||
#logger -tclear_array_drive "Clearing Disk ${d:9} (command: dd bs=1M if=/dev/zero of=/dev/md${d:9} status=progress count=1000 seek=1000 ) ..."
|
||||
#dd bs=1M if=/dev/zero of=/dev/md${d:9} status=progress count=1000 seek=1000
|
||||
|
||||
# Done
|
||||
logger -tclear_array_drive "Clearing Disk ${d:9} is complete"
|
||||
echo -e "\nA message saying \"error writing ... no space left\" is expected, NOT an error.\n"
|
||||
echo -e "Unless errors appeared, the drive is now cleared!"
|
||||
echo -e "Because the drive is now unmountable, the array should be stopped,"
|
||||
echo -e "and the drive removed (or reformatted)."
|
||||
exit
|
||||
```
|
37
Powershellscripts/remove-missed-feature-from-db.ps1
Normal file
37
Powershellscripts/remove-missed-feature-from-db.ps1
Normal file
@ -0,0 +1,37 @@
|
||||
Add-PSSnapin Microsoft.SharePoint.PowerShell
|
||||
|
||||
|
||||
|
||||
function Remove-SPFeatureFromContentDB($ContentDb, $FeatureId, [switch]$ReportOnly){
|
||||
#$db = Get-SPDatabase | where { $_.Name -eq $ContentDb }
|
||||
[bool]$report = $false
|
||||
if ($ReportOnly) { $report = $true }
|
||||
$db.Sites | ForEach-Object {
|
||||
Remove-SPFeature -obj $_ -objName "site collection" -featId $FeatureId -report $report
|
||||
$_ | Get-SPWeb -Limit all | ForEach-Object {
|
||||
Remove-SPFeature -obj $_ -objName "site" -featId $FeatureId -report $report
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Remove-SPFeature($obj, $objName, $featId, [bool]$report){
|
||||
$feature = $obj.Features[$featId]
|
||||
if ($feature -ne $null) {
|
||||
if ($report) {
|
||||
write-host "Feature found in" $objName ":" $obj.Url -foregroundcolor Red
|
||||
}
|
||||
else{
|
||||
try {
|
||||
$obj.Features.Remove($feature.DefinitionId, $true)
|
||||
write-host "Feature successfully removed from" $objName ":" $obj.Url -foregroundcolor Red
|
||||
}
|
||||
catch {
|
||||
write-host "There has been an error trying to remove the feature:" $_
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
#write-host "Feature ID specified does not exist in" $objName ":" $obj.Url
|
||||
}
|
||||
}
|
||||
Remove-SPFeatureFromContentDB -ContentDB "Your Content DB Name" -FeatureId "e9728ee6-7bfc-40a1-ad72-aa9a57e14407" -ReportOnly
|
54
Wenite/missing-setup-files.md
Normal file
54
Wenite/missing-setup-files.md
Normal file
@ -0,0 +1,54 @@
|
||||
my/kgrimm/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/cziegenfuss/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/swoltering/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/abuerger/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/ext-adm-merentis/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/aplachetta/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/cschweers/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/mkleefeldt/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/sschoenauer/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/jniblett/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/pwramling/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/svc-de-bre01-shpsear/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/caugust/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/mhenneke/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/hkolberg/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/anschmidt/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
|
||||
|
||||
|
||||
my/kgrimm/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/cziegenfuss/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/swoltering/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/abuerger/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/ext-adm-merentis/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/aplachetta/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/cschweers/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/mkleefeldt/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/sschoenauer/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/jniblett/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/pwramling/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/svc-de-bre01-shpsear/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/caugust/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/mhenneke/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/hkolberg/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
my/anschmidt/_catalogs/masterpage/Display Templates/Language Files/pt-br
|
||||
|
||||
|
||||
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
||||
Features\SearchWebParts\pt-br\CustomStrings.js
|
Loading…
Reference in New Issue
Block a user