ไฟล์ php
<?php
$user = $_GET['user'];
echo exec('sudo useradd -m -b /home -s /bin/bash $user');
?>
แก้ไขไฟล์ /etc/sudoers
#nano /etc/sudoers
โดยเพิ่ม
www-data ALL=(root) NOPASSWD: /usr/sbin/useradd
ทดสอบสอบรันไฟล์ php
วันอังคารที่ 17 มีนาคม พ.ศ. 2558
วันอังคารที่ 3 มีนาคม พ.ศ. 2558
เขียน scrip python เพื่อสำรองฐานข้อมูล mysqldump
# nano autobk.py
#! Python Auto Backup database
import subprocess
cmd = 'mysqldump -uroot -pPassword --all-database --lock-all-table | bzip2 -c > /backup/db-backup_$(date +%Y%m%d_%H%M%S).sql.bz2'
pid = subprocess.call(cmd, shell=True)
exit()
หากเป็นเซอร์เวอร์อื่น
#! Python Auto Backup database
import subprocess
cmd = 'mysqldump -p3306 -h 127.0.0.1 -uroot -pPassword --all-database --lock-all-table | bzip2 -c > /backup/db-backup_$(date +%Y%m%d_%H%M%S).sql.bz2'
pid = subprocess.call(cmd, shell=True)
exit()
อ้างอิง http://apro45.blogspot.com/2014/05/crontab-mysqldump.html
#! Python Auto Backup database
import subprocess
cmd = 'mysqldump -uroot -pPassword --all-database --lock-all-table | bzip2 -c > /backup/db-backup_$(date +%Y%m%d_%H%M%S).sql.bz2'
pid = subprocess.call(cmd, shell=True)
exit()
หากเป็นเซอร์เวอร์อื่น
#! Python Auto Backup database
import subprocess
cmd = 'mysqldump -p3306 -h 127.0.0.1 -uroot -pPassword --all-database --lock-all-table | bzip2 -c > /backup/db-backup_$(date +%Y%m%d_%H%M%S).sql.bz2'
pid = subprocess.call(cmd, shell=True)
exit()
อ้างอิง http://apro45.blogspot.com/2014/05/crontab-mysqldump.html
FTP ด้วย bash shell script
สร้าง bash shell script ให้ดึงไฟล์ .sql.bz2 ใน /home/backup_db ไปไว้ที่ FTP โฟลเดอร์ file_db
- [host] = hostname หรือ ip server
- [user] = ftp username
- [pass] = ftp password
ตัวอย่างไฟล์
#!/bin/sh
cd /home/backup_db
ftp -n [host] << EOF
prompt
user [user] [pass]
cd file_db
binary
mput *.sql.bz2
bye
EOF
exit 0
- [host] = hostname หรือ ip server
- [user] = ftp username
- [pass] = ftp password
ตัวอย่างไฟล์
#!/bin/sh
cd /home/backup_db
ftp -n [host] << EOF
prompt
user [user] [pass]
cd file_db
binary
mput *.sql.bz2
bye
EOF
exit 0
แก้ปัญหา mysqldump กับ crontab
วิธีการแก้ปัญหา เมื่อสั่ง Crontab สำรองข้อมูล MySQL แล้วไม่ทำงานให้ หรือทำงานแปปเดียว
- ต้องใส่ตัวเรียกเต็มๆของโปรแกรม เช่น /usr/local/bin/mysqldump , /usr/bin/bzip2
ตัวอย่างไฟล์สำรองข้อมูล MySQL
#!/bin/sh
today=$(date '+%d')
/usr/local/bin/mysqldump -uUSER -pPASS --all-database --lock-all-table| /usr/bin/bzip2 -c > /home/backup_db/db-date"$today".sql.bz2
- ต้องใส่ตัวเรียกเต็มๆของโปรแกรม เช่น /usr/local/bin/mysqldump , /usr/bin/bzip2
ตัวอย่างไฟล์สำรองข้อมูล MySQL
#!/bin/sh
today=$(date '+%d')
/usr/local/bin/mysqldump -uUSER -pPASS --all-database --lock-all-table| /usr/bin/bzip2 -c > /home/backup_db/db-date"$today".sql.bz2
สมัครสมาชิก:
บทความ (Atom)