linux腳本更新
1、比如每天產生一個/data/access.log這樣的文件,我們每天備份到backup目錄的access_2011-01-12.log.gz這樣的文件。
2、增加計劃任務
export
EDITOR=vi
crontab
-e
0
0
*
*
*
/data/bak.sh;
3、bak.sh文件內容如下:
cat
/data/bak.sh
#!/bin/bash
logs_dir=/data
bak_dir=/data/backup
bak_file=access_`date
+%Y%m%d`.log
#
tar
everyday
#echo
"begining
of
tar"
tar
zcf
$bak_dir/$bak_file.gz
$logs_dir/access.log
#
clear
bak_file
#echo
"clearing
file.log"
find
$bak_dir
-mtime
+7
-exec
rm
-rf
{}
\;
#end
求採納為滿意回答。
『貳』 linux下使用cron執行定時更新腳本遇到的問題
ls -l test.sh
看看test.sh有可執行許可權沒,沒有的話
chmod +x test.sh
或者這樣寫crontab
*/1 * * * * sh /home/yf/test.sh
『叄』 linux的軟體實施shell更新腳本
樓主的腳本應該是只用來更新的吧?
建議將原先腳本執行有錯誤的地方貼出。
我先按我的思路改下腳本吧。
#!/bin/bash
#########################################
#Function: update lnmj gdsoft
#Usage: bash lnmj_update.sh
#Author: tjt
#Company: gd
#Version: 1.1
#########################################
stop()
{
service jboss405 stop
service fileservice stop
}
bak()
{
time=$(date '+%Y%m%d' )
cd /app/temp/bak
mkdir $time
zip -r /app/temp/bak/$time/webapps_bak.zip /app/www/webapps/*
}
start()
{
service jboss405 start
service fileservice start
}
update()
{
cp /app/temp/my_auto_update/* /app/temp/
unzip -o -d /app/www/webapps/ /app/temp/my_auto_update/*
rm -rf /app/temp/my_auto_update/*
}
bak=$(bak)
stop=$(stop)
update=$(update)
start=$(start)
if[0 == 0] #這個地方「0=0」是表示更新前必須停止服務。
then
stop
# exit 0 這里要注釋掉,不然停止服務就會退出腳本下面語句將不會執行。
echo "服務停止命令正常結束!" > /app/temp/log
fi
#如何執行沒有報錯,執行備份命令
if [ $? -eq 0 ]
then
bak
echo "備份正常結束!" > /app/temp/log
else #如果執行結果未成功將退出腳本,下面語句將不會執行。
exit 1
fi
#如何執行沒有報錯,執行更新命令
if [ $? -eq 0 ]
then
update
echo "更新正常結束!" > /app/temp/log
else #同上
exit 1
fi
#如何執行沒有報錯,執行啟動命令
if [ $? -eq 0 ]
then
start
echo "程序啟動正常結束!" > /app/temp/log
else #同上
exit 1
fi
思路:停止服務→成功→備份→成功→更新→啟動服務
失敗則退出腳本
『肆』 linux shell文件夾兩步更新
1. 網路 「 iNotify 」,編一個happy的程序
2.用shell 二樓兄弟的cp那一行稍微改一下:cp -ru /data/a/* /data/b,不能保證實時更新
3.ln連接,這個是偽同步,其實對應的是同一個文件
『伍』 linux上使用shelle腳本如何實時監控文件屬性時間更新後,執行另外shell腳本
想必你已經在chinaunix上找到答案了吧。
a=`stat -c %Y filename`;b=`date +%s`;if [ $[ $b - $a ] -gt 180 ];then command;else othercommand;fi就挺好的
但是你要注意在crontab中執行的時候需要加source一下環境變數,不然有些命令會找不到路徑。
如:
0-59 * * * * . /etc/profile;a=`stat -c %Y filename`;b=`date +%s`;if [ $[ $b - $a ] -gt 180 ];then command;else othercommand;fi
. /etc/profile可以換成你用戶目錄下的配置文件.
C shell的為 .cshrc 在用戶主目錄下
bashell的為 .bashrc 在用戶主目錄下
kshell的為.profile 在用戶主目錄下
『陸』 請問Linux如何使用腳本自動更新全局環境變數
vi ~/.bashrc
PATH="$PATH":/usr/local/java/jdk1.6.0_24
JAVA_HOME=/usr/local/java/jdk1.6.0_24
source ~/.bashrc
前者是加路徑進入~/.bashrc
後者是加變數進入~/.bashrc
然後source使生效
~/.bashrc是設置文件,每次執行shell腳本都會重讀這個文件
『柒』 Linux 腳本編寫 如何編寫一個腳本,修改已有文件中的內容
實現的方法如下:
1、第一步,打開命令控制台以找到要編輯的文件,執行命令ls來查看下面的一些文件,在下面有一個index.php文件,如下圖所示。
『捌』 求linux下一個腳本,顯示時間和日期,列出所有的登錄用戶,顯示系統的更新時間
簡單寫了個,希望能夠幫到樓主
#!/usr/bin/bash
LogFile="file.log"
date >> $LogFile
finger >> $LogFile
uptime >> $LogFile
exit
『玖』 如何在linux下實現自動刷新網頁的腳本
樓主,你這個問題似乎有點怪異。跨站腳本調用很累的。而且這種代碼的講解並不多。
建議你這個 ASP 網頁嵌入一個 Linux 機器上面的網頁。這個 Linux 機器跑 apache 運行 PHP 網頁後調用這個腳本。
不過這樣操作會很不安全。因為 Linux 端執行你這個命令也需要許可權的。瀏覽者會看到這個訪問頁面,很容易讓人猜到關鍵數據的位置。
其次也可以用 ASP 代碼的 http 訪問相關函數來直接訪問 Linux 機器的網頁介面,這個安全一些因為可以設置瀏覽者看不到的密碼。
其次還可以用一些其他的手段,在 ASP 所在的機器上運行某個程序來自動連接到 Linux 主機的遠程式控制制埠運行命令,或者 ASP 直接編寫出訪問 Linux 控制端的代碼。但這個就要找專業人士了。
------------------------
哦,明白你的意思了。
這個是小菜一碟的。不過 Mysql 一般禁止 root 遠程訪問的,這樣可以保證一定的安全。你在本地可以直接用客戶端程序訪問 mySQL 伺服器上的資料庫的。ASP 代碼直接運行本地程序直接訪問遠程資料庫即可。
不過似乎 mysql 這個命令沒有遠程訪問的功能(至少我沒找到,有一次著急導入數據就是沒招特郁悶……)
用第三方的軟體吧。
如果還是選擇運行 Linux 上的腳本,那就需要 Linux 再開一個可以運行命令的服務了。
『拾』 linux定期查詢某url是否有更新的腳本
wget 下載存為 old 隔兩分鍾再載 為new diff一下 有更新就提醒並將新網頁存為old 沒有更新就繼續循環