summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2015-02-12 21:55:59 (GMT)
committerBritney Fransen <brfransen@gmail.com>2015-02-12 21:55:59 (GMT)
commitfd00440460d6d5300d23fc5fafb0fccd18791f30 (patch)
tree35a83f4e84be1f35c39e9b605fef1c1b855d3985
parent35cf94665cde31376946f7d0f46218d7cea893d8 (diff)
downloadlinhes_pkgbuild-fd00440460d6d5300d23fc5fafb0fccd18791f30.zip
linhes_pkgbuild-fd00440460d6d5300d23fc5fafb0fccd18791f30.tar.gz
linhes_pkgbuild-fd00440460d6d5300d23fc5fafb0fccd18791f30.tar.bz2
LinHES-system: fstrim.cron: trim SSDs weekly
checkXFSfrag.sh: skip defrag on SSDs
-rwxr-xr-xabs/core/LinHES-system/PKGBUILD10
-rwxr-xr-xabs/core/LinHES-system/checkXFSfrag.sh22
-rwxr-xr-xabs/core/LinHES-system/fstrim.cron4
-rwxr-xr-xabs/core/LinHES-system/xfs_defrag.cron2
4 files changed, 26 insertions, 12 deletions
diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD
index c7e3f5d..914ce85 100755
--- a/abs/core/LinHES-system/PKGBUILD
+++ b/abs/core/LinHES-system/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-system
pkgver=8.3
-pkgrel=7
+pkgrel=8
arch=('i686' 'x86_64')
install=system.install
pkgdesc="Everything that makes LinHES an automated system"
@@ -28,7 +28,7 @@ binfiles="LinHES-start optimize_mythdb.py myth_mtc.py
mythwelcome-config.py mythwelcome-set-alarm.sh mythwelcome-test-wakeup.sh"
source=(LinHES-session LinHES-profile.sh $binfiles
- alsa-base cacheclean.cron myth_mtc.cron xfs_defrag.cron etc_care.cron
+ alsa-base cacheclean.cron fstrim.cron myth_mtc.cron xfs_defrag.cron etc_care.cron
readme_is_xml readme_light add_storage.readme
system-sudo.rules msg.cfg)
@@ -62,6 +62,7 @@ package() {
#install -m755 -D $srcdir/smolt.cron $pkgdir/etc/cron.weekly/smolt.cron
install -m755 -D $srcdir/cacheclean.cron $pkgdir/etc/cron.weekly/cacheclean
install -m755 -D $srcdir/xfs_defrag.cron $pkgdir/etc/cron.weekly/xfs_defrag
+ install -m755 -D $srcdir/fstrim.cron $pkgdir/etc/cron.weekly/fstrim
install -m755 -D $srcdir/etc_care.cron $pkgdir/etc/cron.weekly/etc_care
install -m755 -D $srcdir/myth_mtc.cron $pkgdir/etc/cron.hourly/myth_mtc
@@ -118,7 +119,7 @@ md5sums=('8415c4b2587a8a1e6a312484c1edafcb'
'bacc813b48bafcc6fe906e5969930501'
'8e02efe1ad0df9a179075147eebb05b9'
'8b0298f70f97cc1dc2a58b9a73c64bd3'
- '911b0fbc8d9178dac1a193346c9decaf'
+ '716710e0db42147b079c9ec1c7080efa'
'34fc1f58ad1eabf4eff4979d420760c0'
'69ecfe682f1b61c2c4c95d890b9f523c'
'a94fe6d980f4b810f2e2ae5352084b39'
@@ -132,8 +133,9 @@ md5sums=('8415c4b2587a8a1e6a312484c1edafcb'
'410795ef9039e4c6c0484e706ecfd567'
'eb879fee9603a05d5420d4ce8ed9e450'
'02c810c2f47b7c4495fdacaf54189473'
+ '1aac1872bf9569ea58ceb2f6f766a654'
'dc48a53d4e5fe27b218657ccc318d07f'
- '474d5c6883fcfffae4f199aceb3b1356'
+ '4d7164800122243be6513b29c8fc498e'
'd14fdc38878c70011754317b0f2ea59e'
'36bdfa8d877cea20ca3870faf08e08d5'
'59d0602bac7e06f11abba1894acc8bb0'
diff --git a/abs/core/LinHES-system/checkXFSfrag.sh b/abs/core/LinHES-system/checkXFSfrag.sh
index 99b833c..74b73c4 100755
--- a/abs/core/LinHES-system/checkXFSfrag.sh
+++ b/abs/core/LinHES-system/checkXFSfrag.sh
@@ -28,24 +28,32 @@
# DO NOT ALTER HEADER FROM THIS LINE UP.
#
e='/bin/echo -e' # Use the echo command, not built-in.
-xfsfsr=/usr/sbin/xfs_fsr # Set variable with the path to xfs_fsr.
-xfsdb=/usr/sbin/xfs_db # Set variable with the path to xfs_db.
+xfsfsr=/usr/bin/xfs_fsr # Set variable with the path to xfs_fsr.
+xfsdb=/usr/bin/xfs_db # Set variable with the path to xfs_db.
pctmax=15 # Set maxiumum frag percent needed for defrag.
# This is zero here for testing purposes only
# a higher number should be used in production.
array=`df -T|grep xfs|cut -f 1 --delim=" "` # Array of all XFS file systems.
for i in ${array[@]};
do
- percentage=`$xfsdb -c frag -r ${i}|cut -f 7 --delim=" "`
- percent2=`$e $percentage|cut -f 1 --delim=.`
- if [ "$percent2" -gt "$pctmax" ]
+ #check that the device is SATA and skip defrag on SSDs
+ device=`echo ${i} | cut -f 3 --delim="/" | sed 's/[0-9]//g'`
+ isSATA=`cat /sys/block/${device}/queue/rotational`
+ if [[ $isSATA -eq 1 ]]
then
- $e "${i} is $percentage fragmented. Running defragment on ${i}."
+ percentage=`$xfsdb -c frag -r ${i}|cut -f 7 --delim=" "`
+ percent2=`$e $percentage|cut -f 1 --delim=.`
+ if [ "$percent2" -gt "$pctmax" ]
+ then
+ $e "${i} is $percentage% fragmented. Running defragment on ${i}."
# Only uncomment one of the following two lines.
#$xfsfsr -v ${i} # Uncomment for verbose defrag.
$xfsfsr ${i} # Uncomment for quiet defrag.
+ else
+ $e "${i} is $percent2% fragmented and is below the fragmentation threshold of $pctmax%. Skipping."
+ fi
else
- $e "${i}\t$percent2 is not above fragmentation threshold of $pctmax."
+ echo "${i} is an SSD. Skipping."
fi
done
exit 0
diff --git a/abs/core/LinHES-system/fstrim.cron b/abs/core/LinHES-system/fstrim.cron
new file mode 100755
index 0000000..ad0b4aa
--- /dev/null
+++ b/abs/core/LinHES-system/fstrim.cron
@@ -0,0 +1,4 @@
+#!/bin/bash
+#. /etc/profile
+/usr/bin/fstrim -av | /usr/bin/logger -t fstrim
+
diff --git a/abs/core/LinHES-system/xfs_defrag.cron b/abs/core/LinHES-system/xfs_defrag.cron
index 4d35507..e47176b 100755
--- a/abs/core/LinHES-system/xfs_defrag.cron
+++ b/abs/core/LinHES-system/xfs_defrag.cron
@@ -1,3 +1,3 @@
#!/bin/bash
#. /etc/profile
-/usr/LH/bin/checkXFSfrag.sh > /var/log/xfs_defrag.log
+/usr/LH/bin/checkXFSfrag.sh | /usr/bin/logger -t xfs_defrag