12 月 09
joechenAlfresco, GNU/Linux, Shell scripts
#!/usr/bin/expect
spawn ssh "root@ip-or-hostname"
expect "*assword: "
send -- "your-password\n"
expect "\[root@ip-or-hostname:~\] "
#send -- "hostname\n"
#send -- "/bin/sh /vmfs/volumes/datastore1/ghettoVCB/bin/ghettoVCB.sh -g /vmfs/volumes/datastore1/ghettoVCB/backup.conf -m vmguest-name\n"
send -- "echo \"Processing vmguest-name archives\"\n"
send -- "cd /vmfs/volumes/vm-bak/vmguest-name\n"
send -- "ls -t | grep -v `date -D %s +\"%Y-%m-%d\" -d \$((\$( date +%s) - 0 ))` | grep -v `date -D %s +\"%Y-%m-%d\" -d \$((\$( date +%s) -86400 ))` | grep -v `date -D %s +\"%Y-%m-%d\" -d \$((\$( date +%s) - 172800 ))` > list2del.txt\n"
send -- "cat list2del.txt\n"
send -- "rm -rf `cat list2del.txt`\n"
send -- "rm -f list2del.txt\n"
expect eof
6 月 02
joechenShell scripts, 解決方案
#!/bin/bash
class=$1
if [ -z $1 ]; then
echo "No Network Set"
exit 0
else
cd /opt/scripts/SMBv1
for classC in $(seq 0 255)
do
# set LAN range to check
classc="$1"."$classC"
network2check=`echo $classc.0\/24`
# build check list, list the ip is opened port 445
# 建議用其他程式取得, 開啟445的IP, 用nmap 太傷
echo $network2check
/bin/bash /opt/scripts/SMBv1/checking-ip2check.sh $network2check
#lan2check=`echo $classc.0`
list2check=`echo "$classc".0_slash_24-alive-ip.list`
# check ip from list if it/them has/have smbv1 issue
if [ -s "$list2check" ]; then
/bin/bash /opt/scripts/SMBv1/checking-smbv1-devices-need-iplist.sh $list2check
else
#echo "No Host to check." > $list2check
rm -f $list2check
fi
# wait 2 mins, then run the next round
echo "sleep for 1 seconds..."
sleep 1
done
# set header
sed -i -e 's/,,,/IP,OS Version,NetBIOS,FQDN/' ./data/*.csv
exit 0
fi
6 月 02
joechenShell scripts, 未分類, 解決方案
#!/bin/bash
class=$1
if [ -z $1 ]; then
echo "No Network Set"
exit 0
else
cd /opt/scripts/SMBv1
for classC in $(seq 0 255)
do
# set LAN range to check
classc="$1"."$classC"
network2check=`echo $classc.0\/24`
# build check list, list the ip is opened port 445
# 建議用其他程式取得, 開啟445的IP, 用nmap 太傷
echo $network2check
/bin/bash /opt/scripts/SMBv1/checking-ip2check.sh $network2check
#lan2check=`echo $classc.0`
list2check=`echo "$classc".0_slash_24-alive-ip.list`
# check ip from list if it/them has/have smbv1 issue
if [ -s "$list2check" ]; then
/bin/bash /opt/scripts/SMBv1/checking-smbv1-devices-need-iplist.sh $list2check
else
#echo "No Host to check." > $list2check
rm -f $list2check
fi
# wait 2 mins, then run the next round
echo "sleep for 1 seconds..."
sleep 1
done
# set header
sed -i -e 's/,,,/IP,OS Version,NetBIOS,FQDN/' ./data/*.csv
exit 0
fi
4 月 27
joechenShell scripts, 未分類
在 vim 環境下, 顯示出 ^M 符號
https://superuser.com/questions/97692/vim-show-line-feeds-carriage-return
【轉貼】\r\n和\n的差異
http://seacatcry.pixnet.net/blog/post/13732061
4 月 11
joechenShell scripts, 未分類, 解決方案
一般 ^M 符號是出現在每行的最後
這時可利用 dos2unix 指令來解決會比較簡單
但偶有情況是出現在行中, 而不是在行尾/行末
這時 dos2unix 就會處理不到
這時要改用以下網頁的方法
http://dragonspring.pixnet.net/blog/post/33146613
sed "s/\r//" dos_file > dos_file_linux
或是
tr -d "\r" < dos_file > dos_file_linux