スクリプト集
定期的reboot
sudo crontab -e
30 2 * * * /root/bin/maintenance_reboot > /dev/null 2>&1
# touch /var/log/maintenance_reboot.log # chmod 644 /var/log/maintenance_reboot.log # vi /root/bin/maintenance_reboot
maintenance_reboot
- maintenance_reboot.bash
#!/bin/bash logmsg() { echo $1 >> /var/log/maintenance_reboot.log echo $1 } msg="`date` uptime: `cat /proc/uptime | awk '{print $1 / 60 }'` : reboot " /root/bin/mailnotify sleep 30 if [ "${1}" = "-t" ] ;then logmsg "$msg (test)" else logmsg "$msg (execute)" # /sbin/shutdown -r 1 fi
mailnotify
スクリプト
- mailnotify.bash
#!/bin/bash subject="maintenance report (`date '+%Y/%m/%d %T'`)" msg="$subject" msg="$msg\nuptime: `cat /proc/uptime | awk '{print $1 / 60}'` min" tmp="" for i in `/sbin/ifconfig | /bin/grep "Link encap:" | /usr/bin/awk '{print $1}'`; do tmp="$tmp$i:`/sbin/ifconfig $i | \\ /bin/sed 's/inet addr:/inet addr: /' | \\ /bin/grep "inet addr:" | \\ /usr/bin/awk '{print $3}'`, "; done msg="$msg\n$tmp" msg="$msg\n----" msg="$msg\n`cat /var/log/messages`" #echo -e "$msg" #echo -e "$msg" | /usr/bin/mail -s "$subject" root echo -e "$msg" | /usr/bin/mail -s "$subject" hiroshi.yamada@gmail.com
mail設定
http://blog.muchuu.net/post/113402952220/
postfixよりnullmailの方が簡単
# apt-get install nullmailer mailutils # vi /etc/nullmailer/remotes smtp.gmail.com smtp --port=465 --auth-login --user=namahamu.hiroshi@gmail.com --pass=h1r0sh1n0m0h03u --ssl # chown mail:mail /etc/nullmailer/remotes (不要?) # chmod 600 /etc/nullmailer/remotes # /etc/init.d/nullmailer restart <code> vi /etc/rsyslog.conf <code> #daemon.*;mail.*;\ # news.err;\ # *.=debug;*.=info;\ # *.=notice;*.=warn |/dev/xconsole
コンソール文字出力
関連URL
基本
# echo > /dev/tty1
赤色
# c > /dev/tty1
クリア
# echo -e "\e[2J" > /dev/tty1
カーソル位置
# echo -e "\e[0;0H " > /dev/tty1
クリア (カーソル位置も初期化)
# echo -e "\e[2J\e[0;0H" > /dev/tty1
fbclock
# apt-get install sysvbanner
vi fbclock
- fbclock.bash
#!/bin/bash while true; do # echo `date` > /dev/tty1 echo -e "\e[2J\e[0;0H" > /dev/tty1 banner `date +%H%M%S` > /dev/tty1 sleep 1 done
cleanlog
- cleanlog.bash
#!/bin/bash file_clean() { if [ -f $1 ]; then #:> $1 cp /dev/null $1 fi } find /var/log -name "*.?" -type f -exec rm -f {} \; find /var/log -name "*.gz" -type f -exec rm -f {} \; find /var/log -name "*.old" -type f -exec rm -f {} \; find /var/log -type f -exec cp /dev/null {} \; find /home -name ".bash_history" -type f -exec cp /dev/null {} \; find /root -name ".bash_history" -type f -exec cp /dev/null {} \;