mana situācija ir šāda:

  • Man jāveic automatizēta datu bāzes dublēšana
  • Man ir tikai FTP piekļuve, PhpMyAdmin un PHP

Tātad:

  • Nav SSH nozīmē, ka es nevaru izmantot mysqldump
  • Neviens Perls (un bez cron) nozīmē, ka es nevaru izsaukt mysqldumper cron skriptu

Vai zināt kādu rīku, kas veiktu datu bāzes dublēšanu bez palīdzības? Ar bez palīdzības es domāju, ka es to vēlētos izsaukt, izmantojot, piemēram, čokurošanās komandu ...

Es, iespējams, tuvākajā laikā izveidošu VPS, taču šobrīd esmu iestrēdzis ar šo pakalpojumu sniedzēju!

Tas izklausās kā darbs phpMyBackupPro, kuru es jau sen izmantoju līdzīgā situācijā. Tas ļaus jums izveidot ieplānotu dublējumu, zvanot uz servera vienkāršu PHP skriptu, kuru varat izsaukt pēc URL. Tad dublējumkopijas var vai nu saglabāt serverī, FTP pārcelt uz citu serveri vai nosūtīt pa pastu.

Savā vecajā iestatījumā es pat uzrakstīju vienkāršu XML-RPC skriptu, kas izsauktu phpMBP ieplānoto rezerves skriptu (šeit ar nosaukumu 'ping.php'), kad to ping, piemēram, WordPress:

      flerror  0    ziņu Paldies par ping.        ?> var13 ->

Tomēr es ieteiktu pēc iespējas ātrāk pāriet uz VPS. Tā kā VPS ir lēti un bagātīgi, šodien tas nav nekas, salīdzinot ar kopīgotajiem mitinātājiem.

  • Izskatās daudzsološi !! Izmeklēs to rīt. Kādu VPS nodrošinātāju jūs izmantojat?
  • Pašlaik izmantoju Rackspace Cloud Servers.
  • phpMyBackupPro veic šo darbu. Es labprāt redzētu tās bezkontakta versiju, kurā viss ir noņemts, izņemot rezerves skriptu. Varbūt kādu dienu man būs laiks to sagatavot!

Ātra Google meklēšana atklāja skriptu, kas apgalvo, ka izmanto cURL, lai piekļūtu phpMyAdmin un veiktu izgāšanu, taču es to personīgi neesmu pārbaudījis:

http://picoforge.int-evry.fr/websvn/filedetails.php?repname=curlmyback&path=%2Ftrunk%2Fcurl-backup-phpmyadmin.sh&rev=0&sc=0

mysqldump darbojas attāliem saimniekiem - izmantojiet -h karodziņš, lai norādītu resursdatoru, ar kuru izveidot savienojumu (un pārliecinieties, vai jūsu koplietojamā mitināšanas konts ir konfigurēts pieņemt savienojumus no attālā resursdatora IP un piekļuves akreditācijas datiem).

Tas arī ir ļoti iespējams mysqldump ir instalēta serverī, un, visticamāk, ir iespējoti PHP izpildes operatori (briesmīga ideja kopīgotajam mitinājumam, bet diemžēl diezgan izplatīta), tāpēc jūs, iespējams, varēsiet izmantot PHP, lai izpildītu čaulas komandas un sasniegtu savu mērķi.


Rediģēt: Ja attāli MySQL savienojumi un izpildes operatori ir atspējoti, risinājums var būt cURL skripts, kuru ieteica phrac, taču pat tad, ja šis skripts neatbilst jūsu vajadzībām, jums joprojām ir iespējas (ja varat piekļūt datiem un palaist skriptus, varat vienmēr saņemt kopiju).

Ja mysqldump ir instalēts jūsu koplietojamā mitināšanas serverī, jūs varētu izveidot cron darbu, lai izgāztu datu bāzi tīmeklim pieejamā direktorijā - piem. mysqldump dbname > /path/to/www/subdir/backup.sql (vienkārši pārliecinieties, vai apakšdirektorija bloķē piekļuvi, izmantojot neuzticamas IP adreses)

Ja jums nav mysqldump koplietošanas mitināšanas serverī jūs varētu uzrakstīt PHP skriptu, kas izpilda SELECT ... INTO OUTFILE vaicājums (atkal zem aizsargāta tīmeklim pieejama direktorija ar maigām rakstīšanas atļaujām).

Ja jums nav iespēju MySQL lietotājam piešķirt pietiekamas privilēģijas rakstīšanai uz failu, jūs joprojām varat uzrakstīt PHP skriptu, kas (tas ir neglīts risinājums) sasaucas ar MySQL INSERT paziņojumus par jūsu datiem, atbildot uz pieprasījumiem, un ievietojiet šo skriptu tīmeklī pieejamā direktorijā.

  • Diemžēl ne viens, ne otrs nedarbojas. Izpildes darbības ir bloķētas, un serveris patiešām pieņem tikai HTTP un FTP savienojumus.
  • 1 @ Palantir: es iesaku nekavējoties mainīt tīmekļa resursdatorus, nevis atlikt to uz "tuvāko nākotni". Jebkurš bez maksas tīmekļa resursdators, kas nepiedāvā piekļuvi SSH un ir lietotāji, kuri izmanto FTP, atrauj savus lietotājus un nav kompetenti.

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?