macOS Big SurでCUnitのmake
CUnitを利用したくてmakeしたのでメモ。
CUnitをダウンロードする。 sourceforge.net
$ bunzip2 CUnit-2.1-2-src.tar.bz2 $ tar -xvf CUnit-2.1-2-src.tar $ CUnit-2.1-2 $ ./configure --prefix=/usr/local $ make $ sudo make install
test.c
#include "CUnit/Basic.h" int maxi(int i1, int i2) { return (i1 > i2) ? i1 : i2; } int init_suite_success(void) { return 0; } int clean_suite_success(void) { return 0; } void test_maxi(void) { CU_ASSERT(maxi(0,2) == 2); CU_ASSERT(maxi(0,-2) == 0); CU_ASSERT(maxi(2,2) == 2); } int main() { CU_pSuite pSuite = NULL; if (CUE_SUCCESS != CU_initialize_registry()) { return CU_get_error(); } pSuite = CU_add_suite("suite success", init_suite_success, clean_suite_success); if (pSuite == NULL) { CU_cleanup_registry(); return CU_get_error(); } if (CU_add_test(pSuite, "test maxi", test_maxi) == NULL) { CU_cleanup_registry(); return CU_get_error(); } CU_basic_set_mode(CU_BRM_VERBOSE); CU_basic_run_tests(); CU_basic_show_failures(CU_get_failure_list()); CU_cleanup_registry(); return CU_get_error(); }
$ gcc -o test test.c -lcunit $ ./test CUnit - A unit testing framework for C - Version 2.1-2 http://cunit.sourceforge.net/ Suite: suite success Test: test maxi ...passed Run Summary: Type Total Ran Passed Failed Inactive suites 1 1 n/a 0 0 tests 1 1 1 0 0 asserts 3 3 3 0 n/a Elapsed time = 0.000 seconds
CentOS7.6でMetabaseをサービスとして起動
サービス用のファイル作成
#vi /etc/systemd/system/metabase.service [Unit] Description=Metabase. [install] WantedBy=multi-user.target [Service] Restart=always User=root Type=simple WorkingDirectory=/opt/ ExecStop=/bin/kill -SIGTERM $MAINPID ExecStart=/usr/bin/java -jar /opt/metabase.jar SyslogIdentifier=metabase
起動
#systemctl start metabase
自動起動設定
#systemctl enable metabase
シェルスクリプトでログファイルの差分のみを出力
$tail -F -n 0 --pid $$ /var/log/xxx.log > /home/xxx/xxx.log &
ディレクトリ毎の容量確認
du -sh ./*/
RundeckでのSSH設定
# cp id_rsa /var/lib/rundeck/.ssh
- 対象プロジェクトのresourcesファイルに以下を追加
ssh-authentication="privateKey" ssh-keypath="/var/lib/rundeck/.ssh/id_rsa" sh-key-passphrase-storage-path="keys/ssh_key_passphrase"
※Key Typeには「Password」を選択
- パスフレーズ保存ファイルの権限をrundeckユーザ用に変更
# chmod 600 /var/lib/rundeck/var/storage/content/keys/ssh_key_passphrase
SSH Private Key Passphrase with a Job Option
http:// http://rundeck.org/docs/plugins-user-guide/ssh-plugins.html#ssh-private-key-passphrase-with-a-job-option
CentOS7.2にRundeckをインストール
1. Javaをインストール
# yum install -y java-1.8.0
2. Rundeckパッケージインストール
# rpm -Uvh http://repo.rundeck.org/latest.rpm
3. Rundeckインストール
# yum install -y rundeck
4. Rundeck起動
# systemctl start rundeckd
5. Rundeck自動起動
# systemctl enable rundeckd
6. URL設定
# vi /etc/rundeck/rundeck-config.properties :%s/localhost/対象サーバのIPアドレスもしくはホスト名/gc
# vi /etc/rundeck/framework.properties :%s/localhost/対象サーバのIPアドレスもしくはホスト名/gc
7. Rundeck用にサービスとポート開放
# firewall-cmd --add-port=4440/tcp --permanent # firewall-cmd --add-service=http --permanent # firewall-cmd --reload
8. adminパスワードをハッシュ化
# java -cp /var/lib/rundeck/bootstrap/jetty-all-9.0.7.v20131107.jar org.eclipse.jetty.util.security.Password admin パスワード
9. アドミンのパスワードをハッシュ値に変更
# vi /etc/rundeck/realm.properties
10. Rundeck再起動
# systemctl restart rundeckd
Twitter APIからいいねを取得しVue.jsとBootstrapでカード表示
HTML
<div id="app" class="card-columns"> <div class="card" v-for="favorite in favorites"> <template v-if="favorite.extended_entities != ''"> <template v-for="entity in favorite.extended_entities"> <template v-for="media in entity"> <img class="card-img-top img-fluid" v-bind:src="media.media_url_https" alt=""> </template> </template> </template> <div class="card-block"> <p class="card-text">{{ favorite.text }}</p> </div> </div> </div>
var app = new Vue({ el: '#app', data: { favorites: [] }, mounted() { axios.get("https://xxx") .then(response => { this.favorites = response.data }) } })