mikan's technical note

仕事&趣味で実験した小技の備忘録です(Linux,windows,DOS等)

MENU

【PSC】バックアップ用シェル

※※※ 使用にあたっては利用者の自己責任でお願いします ※※※


PSC本体の主要ファイル(regional.db、bin等)を、USBメモリへコピーするシェルです
※別途 gpghax が必要です

PSC電源オフ、電源ケーブルを抜いていることを確認
USBメモリを挿す
電源ケーブルを挿し、PSC電源オン
起動直後にブラックアウトします
バックアップには30~60分くらいかかります
処理が終わると画面が表示されるので電源を切り電源ケーブルを抜いてUSBメモリを抜いてください

lolhack.sh

#!/bin/bash

### define
DB=regional_custom.db
BACKUPDIR=/media/backup
GAMEDIR=/media/games
LOGDIR=/media/log

### UI Stop
sleep 8
echo "UI Stop" >> /media/messages.txt 
killall ui_menu
sleep 5

### create backup directory
if [ -e $BACKUPDIR ]; then
    :
else
    echo "create backup directory" >> /media/messages.txt 
    COUNT=1
    COUNT_MAX=20
    sleep 1
    mkdir $BACKUPDIR
    mkdir $BACKUPDIR/gaadata
    while [ $COUNT -le $COUNT_MAX ]
    do
        echo "mkdir $BACKUPDIR/gaadata/$COUNT" >> /media/messages.txt 
        mkdir $BACKUPDIR/gaadata/$COUNT
        COUNT=`expr $COUNT + 1`
    done
    mkdir $LOGDIR
    sync
fi
if [ -e $BACKUPDIR/usr ]; then
    :
else
    echo "create backup(png) directory" >> /media/messages.txt 
    mkdir $BACKUPDIR/usr
    mkdir $BACKUPDIR/usr/sony
    mkdir $BACKUPDIR/usr/sony/share
    mkdir $BACKUPDIR/usr/sony/share/data
    sync
fi

### ========== BACKUP DB,BIOS,PNG (PSC -> USB) =================
if [ -e $BACKUPDIR/gaadata/databases/regional.db ]; then
    :
else
    echo "BACKUP DB,BIOS (PSC -> USB)" >> /media/messages.txt 
    cp -pr /gaadata/system $BACKUPDIR/gaadata/
    cp -pr /gaadata/databases $BACKUPDIR/gaadata/
    cp -pr /gaadata/preferences $BACKUPDIR/gaadata/
    cp -pr /gaadata/geninfo $BACKUPDIR/gaadata/
    sync
fi
if [ -e $BACKUPDIR/usr/sony/share/data/images/GR/JP_US_BG.png ]; then
    :
else
    echo "BACKUP PMG (PSC -> USB)" >> /media/messages.txt 
    cp -pr /usr/sony/share/data/images $BACKUPDIR/usr/sony/share/data/
    sync
fi

### ========== BACKUP GAMES (PSC -> USB) =======================
for VAR1 in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
do
    for VAR2 in `ls /gaadata/$VAR1`
    do
    if [ -e $BACKUPDIR/gaadata/$VAR1/$VAR2 ]; then
        :
    else
        echo "BACKUP GAMES (PSC -> USB) /gaadata/$VAR1/$VAR2" >> /media/messages.txt 
        cp -p /gaadata/$VAR1/$VAR2 $BACKUPDIR/gaadata/$VAR1/
    fi
    done
done
sync
### ============================================================

#UI Start
echo "UI Start" >> /media/messages.txt 
cd /data/AppData/sony/pcsx
/usr/sony/bin/ui_menu --power-off-enable
echo "cp /data/sony/ui/error.log" >> /media/messages.txt 
cp -pr /data/sony/ui/error.log /media/error.log
sync


実行後、USBメモリ
/backup 配下にファイルがコピーされていることを確認してください