Showing posts with label sysadmin. Show all posts
Showing posts with label sysadmin. Show all posts

Tuesday, September 23, 2008

Interesting Hosting Services

New hosting service that has api to allow you to programatically scale your application onto more nodes in the cloud as you see fit.

http://www.gogrid.com/

Monday, September 22, 2008

Trigger to mimic MySQL "last modified" datatype in Oracle

ALTER TABLE YOUR_TABLE ADD (LAST_MODIFIED DATE);

CREATE OR REPLACE
TRIGGER YOUR_TABLE_BEFORE_INS_UPD BEFORE INSERT OR UPDATE
ON YOUR_TABLE
FOR EACH ROW
DECLARE CURRENT_TIME DATE;
BEGIN
CURRENT_TIME := SYSDATE;
:new.last_modified := CURRENT_TIME;
END;



To start up everything Oracle

$ . oraenv

$ sqlplus “/ as sysdba”
SQL> startup
SQL> exit

$ lsnrctl
LSNRCTL> start
LSNRCTL> exit

$ cd $ORACLE_HOME/bin
./emctl start dbconsole


restart tomcat

/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh


start mysql in the background

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql&

find out what is communicating on a particular port

lsof -i :8080

where 8080 is the port you want to know about

find out what services are listening on which ports

for tcp: lsof | grep TCP
or for udp: lsof | grep UDP


port forward localhost 5433 to redflag 5432 to tunnel postgres connection

ssh -L 5433:localhost:5432 jesses@redflag.funnygarbage.com


start postgres in the background on osx and log to file

/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/logfile start&


start postgres in the background on osx and log to console

/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data start&


piggy back port forward through intermediary box

This will take port 2222 on your local host and terminate it at 22 on ultimate_destination_host_ip via
your ssh tunnel to intermediary_host_ip

ssh -L 2222:ultimate_destination_host_ip:22 intermediary_host_ip -l username_common_to_both_hosts


Flashing my Gateway Desktop

10. When the computer shuts down, it may appear to take a longer period of time to restart and it may beep 10 times during the restart process. This is considered normal and a part of the BIOS update process.

11. In the Intel(r) Express BIOS Update dialog box, it states that the Express BIOS update has completed successfully. Click OK.

12. On the first start-up after the BIOS update has completed, it is possible to receive a Checksum error message. This is caused by some BIOS parameters not being set at the default values. Reset BIOS options to default values (F9) and save and exit (F10) the BIOS Setup.


If the computer reboots and I can't get back to the bios screen again. try pulling the battery and shorting the battery contacts to ground. I imagine that just mean touch the batter contacts while touching the case.


Best SVN folder structures

for a project that has no sub projects:
/path/to/repos/projectname/trunk
/path/to/repos/projectname/tags
/path/to/repos/projectname/branches

for a project with multiple sub projects:
/path/to/repos/projectname/trunk/subprojectname1
/path/to/repos/projectname/trunk/subprojectname2

I am not sure that it is completely necessary to have the subprojectname folders under both tags and branches however.

nice folder structure for virtual hosts and subdomains under neath them

the vhosts are held in the vhosts folder of your primary repository of web sites (aka /var/www, /usr/local/apache2/htdocs, ~Home/Sites, etc.)

/path/to/www/vhosts/vhostname.com/httpdocs
/path/to/www/vhosts/vhostname.com/httpsdocs
/path/to/www/vhosts/vhostname.com/cgi-bin

the subdomains are located in a subdomains folder of the original vhost:
/path/to/www/vhosts/vhostname.com/subdomains/subdomainname/httpdocs
/path/to/www/vhosts/vhostname.com/subdomains/subdomainname/httpsdocs
/path/to/www/vhosts/vhostname.com/subdomains/subdomainname/cgi-bin

creating new svn repos and adding new project

Start by using svnadmin to create the repository somwhere that make sense. Most times if your just putting it on your workstation you should just put it in your home directory. If you want other users to have access to the repository put it somewhere globally accessible like /usr/local/subversion/repos

$ svnadmin create /usr/local/subversion/repos

then once the repository has been created you will want to add your current project to it.

go into the directory that holds the files you want to put into the repository.

$ cd /path/to/project/directory

then import the files into the repository making sure to use a similar path structure like below including the projectname and trunk and possibly a subproject name if your project has multiple subprojects. If not you can omit that part.

$ svn import ./ file:///usr/local/subversion/repos/projectname/trunk/subprojectname -m 'Initial import of projectname subprojectname'

now that that has been done you still need to get a working copy of the files on your local machine so delete all the files in the current directory.

$ svn checkout file:///usr/local/subversion/repos/projectname/trunk/subprojectname -m 'Initial import of projectname subprojectname'

now you will have a copy of all of the files you imported recreated within the folder you just deleted them from but this time their versions will be tracked and you can do things like:

svn status (to check what you have changed in your working copy)

svn update (to get all new files from the repository)

svn add filename (to add new files into the repository)

svn commit (to update the repository with all the changes from your working copy)

Install and setup mysql 5 with ports

MySql 5 Server
sudo port install mysql5 +server
sudo chown -R mysql:mysql /opt/local/var/db/mysql5
sudo -u mysql /opt/local/lib/mysql5/bin/mysql_install_db --user=mysql
ln -s /opt/local/var/run/mysql5/mysqld.sock /tmp/mysql.sock

Ruby’s gems installation
sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-include=/opt/local/include/mysql5 --with-mysql-lib=/opt/local/lib/mysql5 --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config

Start MySql server
sudo -u mysql /opt/local/lib/mysql5/bin/mysqld_safe &

Stop MySql server
/opt/local/bin/mysqladmin5 -u root shutdown

It’s a good idea to create alias for you, here’s mine:

alias mysql_start='sudo -u mysql /opt/local/bin/mysqld_safe5 &'
alias mysql_stop='/opt/local/bin/mysqladmin5 -u root shutdown'

And remeber: mysql.socks lives on /opt/local/var/run/mysql5 as mysqld.socks
/opt/local/var/run/mysql5/mysqld.sock