message = This is recommended only for advanced users, proceed with caution.}}The scripts below are now included in the Amahi [https://www.amahi.org/apps/terminal-scripts Terminal Scripts] application. You might also find [https://www.amahi.org/apps/shellcheck ShellCheck] helpful when developing scripts.
Use of script files provides many useful results. Below is a small collection that should enhance your command line experience.
==Disk SpaceREADME1ST =={{Code|#!<b><u>Terminal Scripts Application README FILE</binu></bashb> The following scripts are included:* automysqlbackup: Backup multiple MySQL databases on a given schedule.* diskspace: Displays graphical depiction of all drive space used and remaining.* dnflog: Shows latest Fedora updates that have been applied.* dsalert: Sends email if a disk has used a set percentage of space. Requires the system have outgoing email capability. * folderspace: Displays how much space a specific folder occupies.* hdaupdates: Shows latest Amahi updates to your HDA.* smartchk: Provides health status of disks drives set in the script.* systeminfo: Displays various criteria about the system, to include host name, IP address, uptime, etc.* weather: Shows weather for a given location as preset in the script. ALL the above scripts may require some modification for your system. * systeminfo and weather script has a variable that must be changed for your geographical area.* smartchk requires modification to list all mounted hard disk drives in your system.* automysqlbackup has various settings will need adjusted for your system. See the [[https://wiki.amahi.org/index.php/Database_Backup:automysqlbackup]] page for details.
<b><u>Dependencies Installed for Scripts</u></b>
* sysinfo: pciutils and procinfo
* smartchk: smartmontools
* dsalert: smartmontools
<b><u>dos2unix (installed with this application)</u></b>
What is it?
<blockquote>dos2unix is a tool to convert text files from DOS line endings (carriage return + line feed) to Unix line endings (line feed). It is also capable of conversion between UTF-16 to UTF-8. Invoking the unix2dos command can be used to convert from Unix to DOS. This tool comes in handy when sharing files between Windows and Linux machines. </blockquote>
Why would I need this tool?
<blockquote>While editing files on a machine running some form of Windows and uploading them to a Linux server is convenient, it can cause unforeseen complications. Windows-based text editors put special characters at the end of lines to denote a line return or newline. Normally harmless, some applications on a Linux server cannot understand these characters and can cause the service to not respond correctly. There is a simple way to correct this problem: dos2unix.</blockquote>
The dos2unix command is a simple way to make sure that files that have been edited and uploaded from a Windows machine to a Linux machine work and behave correctly.
<nowiki>|</nowiki> sed -n '/Currently:/ s/.*: \(.*\): \([0-9]*\)\([CF]\).*/\2°\3, \1/p'</pre>
= A Log Checking Utility == HDA Updates ===
Here is a simple script that displays all of the file updates and additions made to your hda and the date they happened. It simply reads the hda-updates.log file and parses out only the relevant changes.
'''Code:'''
<!--<pre>
#!/usr/bin/python
#
# 11/8/2010
#
log = '/var/log/hda-updates.log' f = open(log, 'r')
lines = f.readlines()
f.close()
gotUpdates = False
firstUpdate = False
gotUpdates = True
firstUpdate = True
</pre>--><pre>#!/usr/bin/python## Dump update information from /var/log/hda-updates.log#!/usr/bin/python## Display the date and files that were modified/installed.## Reads the hda-updates log file and parses out just the file updates/additions.# It helps to see what has been modified and when.## radioz# 11/8/2010## Updated by bigfoot65# 9/26/2014#log = '/var/log/hda-updates.log'line = '==============================================================================='head = 'Package Arch Version Repository Size'cyan = '\033[1;36m'blue = '\033[1;34m'purple = '\033[1;35m'white = '\033[1;37m'print blue + line + whiteprint cyan + head + whiteprint blue + line + whitef = open(log, 'r')lines = f.readlines()f.close()gotUpdates = FalsefirstUpdate = FalsedateInfo = ''for ll in lines : l = ll.strip() # Ignore dependency heading if l == 'Installing for dependencies:' : continue if l == '' : # A blank line terminates the updates for a particular date if gotUpdates : gotUpdates = False continue if gotUpdates : if firstUpdate : # Display the date above the first update print '%s:' % dateInfo firstUpdate = False # Reformat the file info slightly updateInfo = l.split() print purple + l + white print blue + line + white if 'hda update attempt' in l : # This header appears once per hour in the log. Very few represent real updates. # Save the date information in case this is a real update. dateInfo = ' '.join(l.split()[5:]) if 'Updating:' in l : # This is a real update, set up the flags gotUpdates = True firstUpdate = True</pre>
Make the file executable:
Here is a snippet of its output on my system:
Sat <pre>===============================================================================Package Arch Version Repository Size===============================================================================Fri Sep 4 155 21:0201:32 PDT 201037 CDT 2014: hdactl i386 3.5amahi-anywhere x86_64 1.135-1 amahi 218 k 1.8 M=============================================================================== Sat Oct 30 22Mon Sep 15 23:0203:14 PDT 201004 CDT 2014:hda-greyhole i386 0ctl x86_64 5.64.280-1 amahi 47 154 k hda-platform noarch 5.6-===============================================================================</pre> === Fedora Updates ===<pre>#!/usr/bin/bashhead=' PACKAGE NAME\t\t\t\t\tDATE'line='============================================= ==============================='cyan='\033[1;36m'blue='\033[1;34m'purple='\033[1 amahi ;35m'white='\033[1.0 M;37m'echo -e ${blue}${line}${white} hdactl i386 3.6echo -1 amahi 218 ke ${purple}${head}${white} Sun Nov 7 20:01:29 PST 2010:echo -e ${blue}${line}${cyan} hdarpm -qa --platform noarch 5.6last | headecho -8 amahi 1.0 Me ${white}</pre>