SUSE LINUX Enterprise & openSUSE Community
มิถุนายน 20, 2019, 11:13:34 PM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: Script backup using PHP Command line (Run the script from browser)  (อ่าน 2924 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« เมื่อ: สิงหาคม 04, 2009, 08:20:07 PM »


Create script backup using PHP Command line (Run the script from browser)


Shell script
สำหรับสำรองข้อมูลโดยใช้คำสั่ง rsync ในการสำรองข้อ ซึ่งผู้ใช้ทั่วไปสามารถสำรองข้อมูลได้เอง โดยใช้งานผ่าน web-base และเมื่อสำรองข้อมูลเสร็จจะส่งข้อความแจ้งทางเมล์ "backup completed".

Solution for Linux Terminal Server.

1. Setup a shell script for backup

$ cd /srv/www/htdocs/

#Sample code: (Create a user account "user1" for test)
$ su user1
$ vi rsync_usb.sh

echo "test" > /home/user1/Desktop/test.txt

$ su user1
user1@android01:~/Desktop> sh rsync_usb.sh
$ sh: rsync_usb.sh: Permission denied


2. Setup sudo to execute a command as wwwrun user

$ visudo

user1   ALL = NOPASSWD: /bin/sh        
wwwrun   ALL = NOPASSWD: /bin/sh  

3. Test sudo Sudo access

$ su user1
$ sudo /bin/sh rsync_usb.sh
$ ls

test.txt


4. Create a PHP based interface

$ cd /srv/www/htdocs/
$ vi backup.php


#Sample Code:
<?php
#Shell script by Sontaya.
        echo "Starting backup...";
        echo '</p>';
#Backup files to external hard disk by rsync command:
        echo exec('sudo /bin/sh /srv/www/htdocs/rsync_usb.sh');
?>

5. Run the script from browser:

http://web_server/backup.php


Sample script code:

$ vi rsync_usb.sh
โค๊ด:

#!bin/sh
#This is shell script backup data to External Harddisk.
#By susethailand.com@gmail.com
mount -o rw /dev/sdc1 /media/usb
# set admin email so that you can get email
ADMIN="email@mydomain"
#week1,2,3,4
DIR=week4
logfile=/media/usb/rsync_factory/
LOGFILE_DATA="$logfile/rsync_usb.log"
echo $'\n' > $LOGFILE_DATA
#run the command
/usr/bin/rsync --delete --exclude-from=/root/backup/scripts/rsync_exclude_factory --stats -azv /data /media/usb/rsync_factory/$filename/
/usr/bin/rsync --delete --stats -azv /home /media/usb/rsync_factory/$DIR/
echo "Completed data at: `/bin/date`" > $LOGFILE_DATA
#send a message to admin
mail -s "Alert: backup completed." $ADMIN
#clear caches
echo 3 > /proc/sys/vm/drop_caches

« แก้ไขครั้งสุดท้าย: กรกฎาคม 05, 2011, 10:46:54 PM โดย Sontaya » แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #1 เมื่อ: สิงหาคม 06, 2009, 06:56:25 PM »


How to close a window in Firefox (javascript)

$ vi test.php

<?php
#Shell script by Sontaya.
        echo "<center>";
        echo "Starting backup...";
        echo '</p>';
#Backup
       echo exec('sudo /bin/sh /srv/www/htdocs/rsync_usb.sh');
#Close window in Firefox
        echo '</p>';
     echo "<a href=\"javascript:window.open('close.html','_self');\">Close Window[/url]";
        echo "</center>";
?>


$ vi close.html

<script language="javascript" type="text/javascript">window.close();</script>

« แก้ไขครั้งสุดท้าย: กันยายน 02, 2009, 08:50:57 PM โดย Sontaya » แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.036 วินาที กับ 19 คำสั่ง (Pretty URLs adds 0.008s, 2q)